Python 从字符串末尾分割小数部分

0 投票
7 回答
1832 浏览
提问于 2025-04-16 15:56

我在一个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

撰写回答