Python 从字符串末尾分割小数部分
我在一个FTP服务器上使用nlst命令,它会返回一个目录列表。这个返回的列表格式是这样的:
[xyz123,abcde345,pqrst678]。
我需要把列表中的每个元素分成两部分,比如说part1 = xyz,part2 = 123,也就是在数字部分开始的地方把字符串分开。希望能得到一些帮助!
7 个回答
0
我觉得不用re
模块也没那么难。
>>> s="xyz123"
>>> for n,i in enumerate(s):
... if i.isdigit(): x=n ; break
...
>>> [ s[:x], s[x:] ]
['xyz', '123']
>>> s="abcde345"
>>> for n,i in enumerate(s):
... if i.isdigit(): x=n ; break
...
>>> [ s[:x], s[x:] ]
['abcde', '345']
2
这段代码的意思是……
首先,它会做一些检查,确保输入的数据是有效的。接着,它会根据这些数据进行一些计算,最后输出结果。
在这里,代码块中的每一行都有它的作用,比如说,有的行是用来获取用户输入的,有的行是用来处理这些输入的,还有的行则是用来显示结果的。
总之,这段代码的流程就是这样,先检查、再计算、最后输出。
>>> re.findall(r'\d+|[a-z]+', 'xyz123')
['xyz', '123']
2
例如,使用 re 模块:
>>> import re
>>> a = ['xyz123','ABCDE345','pqRst678']
>>> regex = '(\D+)(\d+)'
>>> for item in a:
... m = re.match(regex, item)
... (a, b) = m.groups()
... print a, b
xyz 123
ABCDE 345
pqRst 678