我有一个字符串' A1T1730'
由此我需要提取第二个字母和最后四个字母。例如,来自' A1T1730'我需要提取' 1'和' 1730'我不确定如何在Python中执行此操作。
我现在有以下内容,它分别从字符串中提取每个字符,所以有人可以帮助我根据上述需要更新它。
list = ['A1T1730']
for letter in list[0]:
print letter
这给了我A,1,T,1,7,3,0
的结果答案 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)
将filter
与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']
如果数字位置固定,请使用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
我希望这很有用。