如何使用Python从字符串中提取某些字母

use*_*260 1 python list

我有一个字符串“A1T1730”

我需要从中提取第二个字母和最后四个字母。例如,我需要从“A1T1730”中提取“1”和“1730”。我不知道如何在 Python 中做到这一点。

我现在有以下内容,它分别从字符串中提取每个字符,所以有人可以帮助我根据上述需要更新它。

list = ['A1T1730']  
for letter in list[0]:  
      print letter  
Run Code Online (Sandbox Code Playgroud)

这给出了 A, 1, T, 1, 7, 3, 0 的结果

the*_*eye 5

my_string = "A1T1730"
my_string = my_string[1] + my_string[-4:]
print my_string
Run Code Online (Sandbox Code Playgroud)

输出

11730
Run Code Online (Sandbox Code Playgroud)

如果你想将它们提取到不同的变量中,你可以这样做

first, last = my_string[1], my_string[-4:]
print first, last
Run Code Online (Sandbox Code Playgroud)

输出

1 1730
Run Code Online (Sandbox Code Playgroud)


fal*_*tru 5

使用filterwith str.isdigit(作为未绑定方法形式):

>>> filter(str.isdigit, 'A1T1730')
'11730'
>>> ''.join(filter(str.isdigit, 'A1T1730')) # In Python 3.x
'11730'
Run Code Online (Sandbox Code Playgroud)

如果您想要分隔数字,请使用正则表达式(请参阅re.findall):

>>> import re
>>> re.findall(r'\d+', 'A1T1730')
['1', '1730']
Run Code Online (Sandbox Code Playgroud)

如果数字的位置是固定的,则使用 thefourthey 的解决方案。


顺便说一句,不要用作list变量名。它隐藏了内置list函数