我有一堆字串看起來像aaa -bx或者aaa -bxx在哪里x會有一個數字。有沒有辦法使用正則運算式bx或bxx不使用正則運算式?我記得有類似的東西b_可以匹配它。
uj5u.com熱心網友回復:
您可以使用字串方法。
匹配文字aaa -b后跟數字:
def match(s):
start = 'aaa -b'
return s.startswith(start) and s[len(start):].isdigit()
match('aaa -b33')
# True
如果您想檢查最后一個部分b是否為數字,請使用s.rsplit('b')[-1].isdigit()
uj5u.com熱心網友回復:
好吧,它不是很有說服力,但是您當然可以以某種方式手動測驗字串 'bxx',其中 xx 表示一位或兩位數字。
這是一個例子。首先檢查它是否有足夠的長度并以'b'開頭。然后檢查下一部分是否為整數。
def matchfunction(s):
if len(s) < 2 or s[0] != 'b':
return False
try:
int(s[1:])
return True
except:
return False
print( matchfunction( 'b23' ) )
print( matchfunction( 'bavb' ) )
正如預期的那樣,輸出是
True
False
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/448821.html
下一篇:按字典順序對結構陣列進行排序
