我試圖從字符串'Rhode Island[edit]'
提取州名。爲什麼分割和剝離給python不同的輸出?
當我試圖.split('[[]').str[0]
,我得到了正確的結果「羅得島」。 然而,當我試圖.rstrip('[edit]')
,我得到了錯誤的結果「羅得Islan」。
我有困惑,爲什麼左括號前面的字符「d」,當我用rstrip功能也被刪除了。
我試圖從字符串'Rhode Island[edit]'
提取州名。爲什麼分割和剝離給python不同的輸出?
當我試圖.split('[[]').str[0]
,我得到了正確的結果「羅得島」。 然而,當我試圖.rstrip('[edit]')
,我得到了錯誤的結果「羅得Islan」。
我有困惑,爲什麼左括號前面的字符「d」,當我用rstrip功能也被刪除了。
S.rstrip([chars])
- >字符串或Unicode
返回字符串S的尾隨空格去掉一個副本。 如果給出字符而不是無,請刪除字符中的字符。 如果字符是unicode,S將被轉換你的情況剝離
的字符= [ '[', 'E', 'd', 'I', 'T', ']'] 之前爲Unicode其中包含「d」,通過給定的字符形成有向前後串是d[edit]
嘗試正則表達式
import re
re.compile(r'\[edit\]$').sub('','Rhode Island[edit]')
使用're'是最好的方法,因爲它揭示了這個意圖。 –
rstrip
沒有做你想要的東西,它會從字符串的結尾指定的所有字符,所以它刪除「[」,「E」,「d」,「我」,「T」和' ]」。你需要的是分裂的「[」然後在第一個元素:'Rhode Island[edit]'.split('[')[0]
參數爲'rstrip()可以'是「*被去除指定一組字符的字符串。*」。閱讀文檔:。https://docs.python.org/3/library/stdtypes.html?highlight=rstrip#str.rstrip – cdarke
' '羅德島[編輯]' 分裂( '[]')海峽[ 0]'會產生'AttributeError';請驗證你的問題的一部分。 –