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

时间:2014-01-17 13:22:30

标签: python list

我有一个字符串' A1T1730'

由此我需要提取第二个字母和最后四个字母。例如,来自' A1T1730'我需要提取' 1'和' 1730'我不确定如何在Python中执行此操作。

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

list = ['A1T1730']  
for letter in list[0]:  
      print letter  

这给了我A,1,T,1,7,3,0

的结果

3 个答案:

答案 0 :(得分:4)

my_string = "A1T1730"
my_string = my_string[1] + my_string[-4:]
print my_string

<强>输出

11730

如果要将它们提取到不同的变量,您可以执行

first, last = my_string[1], my_string[-4:]
print first, last

<强>输出

1 1730

答案 1 :(得分:3)

filterstr.isdigit一起使用(作为未绑定的方法表单):

>>> filter(str.isdigit, 'A1T1730')
'11730'
>>> ''.join(filter(str.isdigit, 'A1T1730')) # In Python 3.x
'11730'

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

>>> import re
>>> re.findall(r'\d+', 'A1T1730')
['1', '1730']

如果数字位置固定,请使用thefourtheye的解决方案。


顺便说一句,不要使用list作为变量名。它会遮蔽builtin list function

答案 2 :(得分:0)

您可以使用isdigit()功能。如果该字符是数字,则返回true,否则返回false:

list = ['A1T1730']  
for letter in list[0]:
    if letter.isdigit() == True:
        print letter, #The coma is used for print in the same line 

我希望这很有用。