在多个位置拆分字符串

2024-05-13 20:35:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从字符之间的字符串中获取一组数字

下面是一个例子:NC123456Sarah Von Winkle

NC是字符串中唯一可以保证的部分,Sarah的名字可以是任何东西,所以我不能只在“S”和“C”处拆分来获取数字


Tags: 字符串数字名字字符例子ncvonsarah
3条回答

您可以尝试re,这是Python的标准库

import re

sample_string = "NC123456Sarah Von Winkle"
result_digits = re.findall(r"\d+", sample_string, flags=0)

那么您的结果应该是['123456']。如果只需要一个整数而不是字符串,可以使用int(result_digits[0])进行转换

使用regex模块:

import re
s = "NC123456Sarah Von Winkle"
t = re.findall("[0-9]+",s)
print(t)

这将提供:

['123456']

模式[0-9]将查找字符串s中0到9之间任何数字的所有匹配项,+表示我们正在搜索模式[0-9]的至少一个匹配项

您可以为此使用正则表达式:

import re
s='NC123456Sarah Von Winkle'
m=''.join(re.findall(r'NC(\d+).*',s))
print(int(m))

相关问题 更多 >