【发布时间】:2021-10-28 15:26:47
【问题描述】:
让 s = "%2ABCDE" - 从字符串中获取前 2 个字符 那么输出应该是“AB”。 需要从字符串中由数字指定的字符串中获取字符。 例如。 s1="%12ABCDERTYUIOPLKHGF" - 从字符串中获取前 12 个字符。
我尝试使用 re.findall('\d+', string ) 获取数字,但如果我的字符串为“%2ABCD1”,则会出现问题。 请推荐
【问题讨论】:
-
你想在得到 AB 字符之前从头开始去掉非字母字符?
-
到目前为止你尝试了什么?
-
我试过 re.findall('\d+', string ),但这只返回单个数字。
-
@user892077 请在问题中包含您尝试过的内容。
-
@JoshuaVoskamp 正确,正如我所说,我认为将 2 替换为
int(re.findall('\d+', s1)[0])是不言自明的,因此解决方案是''.join(re.findall('[A-Za-z]', s1)[:int(re.findall('\d+', s1)[0])])
标签: python python-3.x string