我有一個像這樣的字串
string = '12345_1234567890_1_someword_someword2'
我想選擇出現在這個給定示例中的第一個非數字字符字串,我想選擇“someword”。刺的結構是固定的。一個數字序列,然后是一些字符。
uj5u.com熱心網友回復:
string = input('')
stringArr = string.split('_')
for item in stringArr:
try:
item = int(item)
except ValueError:
print(item)
break
此代碼根據下劃線拆分字串,然后嘗試將每個專案轉換為整數。如果不能,則將它們列印出來。(您也可以將例外下的專案保存到變數或任何您喜歡的內容中)
這可能比正則運算式更有效,因為它在第一次出現后停止,而不是找到所有出現的
uj5u.com熱心網友回復:
import re
string = '_' '12345_1234567890_1_someword_someword2' '_'
re.findall('_([a-zA-Z] ?)_',string)[0]
或者:
string = '12345_1234567890_1_someword_someword2'
pattern = '(^|_)([a-zA-Z] ?)(_|$)'
re.search(pattern,string).group(2)
uj5u.com熱心網友回復:
您可以使用正則運算式:
import re
string = '12345_1234567890_1_someword_someword2'
m = re.search("([a-zA-Z] )", string)
m.group(0)
會回來'someword'。
uj5u.com熱心網友回復:
僅使用簡單的拆分功能。用于提取字串部分
string.split('_')[-2:]
或者,如果您熟悉正則運算式,那么您也可以使用它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/376330.html
上一篇:帶有奇怪演算法的Python程式
