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