我试图从字符串'Rhode Island[edit]'
中提取州名。
当我尝试.split('[[]').str[0]
时,我得到了正确的结果'罗德岛'。
但是,当我尝试.rstrip('[edit]')
时,我得到了错误的结果'Rhode Islan'。
当我使用rstrip函数时,为什么左括号前的字符'd'也被删除了我很困惑。
答案 0 :(得分:3)
rstrip
没有做你想做的事情,它删除了字符串末尾指定的所有字符,因此删除了' [',' e&#39 ;,',' i',' t'和']'。你想要的是分开' ['然后取第一个元素:'Rhode Island[edit]'.split('[')[0]
答案 1 :(得分:1)
S.rstrip([chars])
- >字符串或unicode
返回字符串S的副本,删除尾部空格。 如果给出了chars而不是None,则删除chars中的字符。 如果chars是unicode,则在剥离之前S将转换为unicode
在你的情况下,chars = [' [',' e'' d',' i',&#39 ;吨'']']
其中包含' d'由给定的字符组成的尾随字符串是d[edit]
尝试正则表达式
import re
re.compile(r'\[edit\]$').sub('','Rhode Island[edit]')