亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我可以做些什么來讓我的 split() 函數正常工作嗎?

我可以做些什么來讓我的 split() 函數正常工作嗎?

呼如林 2024-01-04 16:44:10
我只是想問一下如何才能讓我的 split 功能正常工作x_value = "7383 + 4536"我使用 pytesseract 來提取該字符串if '+' in x_value is not None:    x_value = re.split('[+`]', x_value)    try:        x_value = int(x_value[0]), int(x_value[1])    except:        x_value = int(x_value[0]), int(x_value[2])print(x_value)但我的問題是它打印出來['7383 + 4536\n\x0c']所以...伙計們,我真的需要你們的幫助...我只是一個想要學習編程的 14 歲男孩...我開始學習已經 3 周了...這是我的第一個項目...我希望你們可以幫助我改善...
查看完整描述

3 回答

?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

正則表達式+中的 表示前一項的“一個或多個”。

您應該\在模式中使用轉義符來將其視為字符+。

(另外,請注意\必須轉義,或以 . 為前綴的字符串r。)

x_value = re.split( r'[\+`]', x_value )


查看完整回答
反對 回復 2024-01-04
?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

讓我們逐行查看您的代碼。


if '+' in x_value is not None:

    x_value = re.split('[+`]', x_value)

    try:

        x_value = int(x_value[0]), int(x_value[1])

    except:

        x_value = int(x_value[0]), int(x_value[2])

print(x_value)

if '+' in x_value is not None:

這條線是不正確的。'+' in x_value將被評估為True或False,因此這is not None不是您的意圖。假設+is inside x_value,則該if語句的計算結果為:


if True is not None

這是當然的True。說不+在里面x_value,那么:


if False is not None

這也評估為True. 正確的方法很簡單:


if '+' in x_value:

x_value = re.split('[+.]', x_value)

@Didier Trosset 對此進行了報道。


try堵塞

try:

    x_value = int(x_value[0]), int(x_value[1])

except:

    x_value = int(x_value[0]), int(x_value[2])

如果您的輸入是這樣的1 + 2,那么正確的正則表達式行應該返回一個包含兩個對象的列表[1, 2]。在這種情況下,try在正則表達式行不返回 2 個數字的情況下,該語句正在捕獲(如果拋出錯誤) ,但在捕獲錯誤時,它會嘗試添加第三個數字x_value[2],這也會拋出錯誤。


查看完整回答
反對 回復 2024-01-04
?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

為什么不嘗試一些更簡單的事情,比如:


x_value = "7383 + 4536"


if "+" in x_value:

    values = [int(value.strip()) for value in x_value.split("+")]

    print(values)

它打印[7383, 4536].


好處是您不需要任何正則表達式即可工作。


查看完整回答
反對 回復 2024-01-04
  • 3 回答
  • 0 關注
  • 189 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號