在python中查找string + integer的索引

时间:2015-06-08 10:32:22

标签: python integer find

我有一个字符串“Something M6”,我想知道字符串中是否有“M6”。 “M6”中的6可以是任何整数。有没有办法在不使用正则表达式或for循环的情况下找到它

3 个答案:

答案 0 :(得分:4)

>>> s = 'Something M6'
>>> 'M' in s and s[s.rfind('M') + 1].isdigit()                                                                                                                              
True                                                                                                                                                                       
>>> s = 'Something M1'
>>> 'M' in s and s[s.rfind('M') + 1].isdigit()                                                                                                                              
True                                                                                                                                                                       
>>> s = 'Something Mx'
>>> 'M' in s and s[s.rfind('M') + 1].isdigit()
False

这适用于个位数。它查找字符串中的最后一个M并检查它后面是否为数字。

如果M后面有多个数字,您可以使用:将其切片到最后。

>>> s = 'Something M123'
>>> 'M' in s and s[s.rfind('M') + 1:].isdigit()
True

答案 1 :(得分:2)

myStr= "Something M6"
if 'M' in myStr:
    indexOfM = myStr.index('M')
    if myStr[indexOfM + 1].isdigit():
        print "Valid String."
    else :
        print "Invalid string."
else :
    print "Invalid string."

答案 2 :(得分:0)

嗯,我想你可以这样做:

string = "Something M6"
if string.split(" ")[-1][0]=="M" and string.split(" ")[-1][1:].isdigit() :
   print True