我有一個國家列表,其中一些有一個空格括號,例如玻利維亞(多民族國)。從str.replace中的字符串中刪除括號使用str.replace
爲什麼我的代碼下面的工作只保留玻利維亞?
energy['Country'] = energy['Country'].str.replace("Bolivia (Plurinational State of)","Bolivia")
我有一個國家列表,其中一些有一個空格括號,例如玻利維亞(多民族國)。從str.replace中的字符串中刪除括號使用str.replace
爲什麼我的代碼下面的工作只保留玻利維亞?
energy['Country'] = energy['Country'].str.replace("Bolivia (Plurinational State of)","Bolivia")
str.replace
使用正則表達式來執行替換。括號必須轉義,以保持他們的簡單字符:
energy['Country'].str.replace("Bolivia \(Plurinational State of\)","Bolivia")
您可以自動逃脫這樣的:
import re
energy['Country'].str.replace(re.escape('Bolivia (Plurinational State of)'),"Bolivia")
這去除在他們那裏有文字括號內的所有實例:
energy['Country'] = energy['Country'].str.replace(r"\(.*\)","")
在這個版本中,你會得到尾隨的白色空格,因爲你在開放括號之前沒有考慮它們。 – Boud
energy['Country'] = energy['Country'].str.replace(r"\s+\(.*\)","")
@python_new_user的解決方案,但解決@Boud提到的白色拖尾問題
這個工作,但我最終找到了一種不同的方式,將整個列中的所有括號。 –