我有這個字符串:的Python - IndexError:列表索引超出範圍 - For循環/ While循環
string="R$ 35.0123. "
我要清理的是,採取這一最後的點,並在最後的是空間。使它看起來像這樣:
string:"R$ 35.0123"
我試圖用這個:
while string[-1].isdigit()==False:
string=string[:-1]
但是我得到這個錯誤:
IndexError: list index out of range
奇怪的是,我m在for循環中運行,如果循環列表只有一個項目,它可以正常工作。如果列表中有兩個項目,則會發生此問題。
任何想法? 快樂聖誕爲你所有。
FULL下面的代碼 (該字符串變量 「勇敢」)
if CNPJ in page:
CNPJloc=[]
for i in (re.finditer(CNPJ,page)):
CNPJloc.append(i.start())
for i in CNPJloc:
CNPJposition=i
beg_string=["aviao"]
end_string="sicon"
for i in beg_string:
if i in lower_page[CNPJposition-200:]:
beg_string=i
extrato_de_contrato=page[lower_page.rfind(beg_string,0,CNPJposition):lower_page.find(end_string,CNPJposition)]
lower_extrato=extrato_de_contrato.lower()
def valor():
valor=["valor do contrato:","valor:"]
for i in valor:
if i in lower_extrato:
valor=extrato_de_contrato[lower_extrato.rfind(i)+len(i):lower_extrato.find("fonte",lower_extrato.rfind(i))]
while valor[-1].isdigit()==False:
valor=valor[:-1]
print("Valor Total: ", valor)
return valor
valor()
尼斯,感謝。問題是有時可能是「。」,其他時間可能只是「。」。其他時間可以是「.xzxzx」。 – abutremutante
另請參見[''str.rsplit' **](https://docs.python.org/2/library/stdtypes.html#str.rsplit)'sep ='。''和'maxsplit = 1 ' –