查找某些字符串索引

时间:2015-02-28 05:10:28

标签: python string python-3.x

我有这个字符串,我需要从中获取一个特定的数字。

E.G。 encrypted = "10134585588147, 3847183463814, 18517461398"

如何从字符串中仅拉出第二个整数?

1 个答案:

答案 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()