我有一個 List 呼叫screenName
,其輸入為:
[['107492.?eso2'], ['106268.test4'], ['106239.test3'], ['106216.test2'], ['106190.test1']]
我現在有這段代碼來遍歷每個字母并將其洗掉,直到它到達一個點
for o in screenName:
for e in o:
for l in e:
if l.isdigit():
e = e.replace(l, '')
elif l == '.':
e = e.replace(l, '')
elif l.isalpha():
break
print(e)
現在的問題是輸出是這樣的:
?eso
test4
test
test
test
當我期待這樣的事情時:
?eso2
test4
test3
test2
test1
我錯過了什么?
uj5u.com熱心網友回復:
串列中的第一項是 ['107492.?eso2']。因此,每當遇到數字時,它都會用空白 ('') 替換它。但是,一旦遇到數字“2”,它就會用空格替換所有“2”的實體。這就是為什么您的結果輸出是“?eso”而不是“?eso2”的原因。
您可以使用字串切片方法,而不是使用替換方法。
代碼如下:
for o in screenName:
for e in o:
for l in range(len(e)):
if e[l] == '.':
e = e[l 1:]
break
print(e)
希望這有幫助。祝你今天過得愉快。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/505277.html
上一篇:在R中命名子串列