繁体   English   中英

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

[英]How to extract certain letters from a string using Python

我有一个字符串 'A1T1730'

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

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

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

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

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

filterstr.isdigit一起str.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']

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


顺便说一句,不要使用list作为变量名。 它隐藏了内置list功能

那么你可以这样做

_2nd = lsit[0][1]

# last 4 characters
numbers = list[0][-4:]

您可以使用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 

我希望这有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM