不用正则表达式,Python如何实现在字符串中遇到数字就将数字提取出来成一个新的字符串

不用正则表达式,Python如何实现在字符串中遇到数字就将数字提取出来成一个新的字符串

按你这么说,不用re,只有遍历了。

全部遍历下就行


''.join([n for n in list('123asdf654a6fewaf5a1we6') if n.isnumeric()])

img

搞不懂你在想什么。正则表达式的本质还不是遍历,只是表面不一样而已,为啥会有这种要求啊。


import more_itertools as mi

x = mi.split_when("adj234laskdjf1242alksa33djf29alkajdf",lambda x, y: x.isalpha() and y.isdigit() or y.isalpha() and x.isdigit())
result = [''.join(i) for i in x if i[0].isdigit()]
print(result)