我有这个字符串,我需要从中获取一个特定的数字。
E.G。 encrypted = "10134585588147, 3847183463814, 18517461398"
如何从字符串中仅拉出第二个整数?
答案 0 :(得分:2)
您正在寻找“拆分”方法。通过指定要拆分的字符串的较小部分将字符串转换为列表。
>>> encrypted = '10134585588147, 3847183463814, 18517461398'
>>> encrypted_list = encrypted.split(', ')
>>> encrypted_list
['10134585588147', '3847183463814', '18517461398']
>>> encrypted_list[1]
'3847183463814'
>>> encrypted_list[-1]
'18517461398'
然后您可以正常访问索引。请注意,列表可以向前或向后编制索引。通过提供负索引,我们从右边而不是左边开始计算,选择最后一个索引(不知道列表有多大)。请注意,如果列表为空,这将生成IndexError
。如果你使用Jon的方法(下面),列表中总会至少有一个索引,除非你开始的字符串本身是空的。
编辑添加:
Jon在评论中指出的是,如果你不确定该字符串是否格式良好(例如,总是用正好用一个逗号分隔后跟一个空格),那么你可以用空格(encrypt.replace(',', ' ')
)替换所有逗号,然后调用不带参数的split,它将分割为任意数量的空白字符。像往常一样,你可以把它们连在一起:
encrypted.replace(',', ' ').split()