在 python 中查找字符串 + 整数的索引
Find index of string + integer in python
我有一个字符串 "Something M6",我想知道字符串中是否存在 "M6"。 "M6"中的6可以是任意整数。有没有办法不使用正则表达式或for循环就找到它
>>> 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 后面有超过 1 个数字,您可以用 :
将其切到末尾。
>>> s = 'Something M123'
>>> 'M' in s and s[s.rfind('M') + 1:].isdigit()
True
嗯,我想你可以这样做:
string = "Something M6"
if string.split(" ")[-1][0]=="M" and string.split(" ")[-1][1:].isdigit() :
print True
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."
我有一个字符串 "Something M6",我想知道字符串中是否存在 "M6"。 "M6"中的6可以是任意整数。有没有办法不使用正则表达式或for循环就找到它
>>> 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 后面有超过 1 个数字,您可以用 :
将其切到末尾。
>>> s = 'Something M123'
>>> 'M' in s and s[s.rfind('M') + 1:].isdigit()
True
嗯,我想你可以这样做:
string = "Something M6"
if string.split(" ")[-1][0]=="M" and string.split(" ")[-1][1:].isdigit() :
print True
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."