我有一根绳子。如何删除某个字符后的所有文本?(在这种情况下……) 之后的文字将…这就是为什么我想删除某一个字符之后的所有字符。
当前回答
在你的分离器上最多分裂一次,然后取出第一块:
sep = '...'
stripped = text.split(sep, 1)[0]
你没说如果分隔器不存在会发生什么。在这种情况下,这个和Alex的解决方案都会返回整个字符串。
其他回答
如果你想删除一个字符串中最后出现的分隔符之后的所有内容,我发现这很好:
. join (string_to_split.split <分离器>(<分离器>)[1]):
例如,如果string_to_split是一个像root/location/child/too_far.exe这样的路径,并且你只想要文件夹路径,你可以通过"/".join(string_to_split.split("/")[:-1])分割,你将得到 根/位置/孩子
还有一种方法是删除字符串中字符最后一次出现之后的所有字符(假设您想删除最后一个'/'之后的所有字符)。
path = 'I/only/want/the/containing/directory/not/the/file.txt'
while path[-1] != '/':
path = path[:-1]
另一种使用re的简单方法是
import re, clr
text = 'some string... this part will be removed.'
text= re.search(r'(\A.*)\.\.\..+',url,re.DOTALL|re.IGNORECASE).group(1)
// text = some string
import re
test = "This is a test...we should not be able to see this"
res = re.sub(r'\.\.\..*',"",test)
print(res)
输出:“这是一个测试”
假设你的分隔符是'…',但它可以是任何字符串。
text = 'some string... this part will be removed.'
head, sep, tail = text.partition('...')
>>> print head
some string
如果分隔符未找到,head将包含所有原始字符串。
分区函数是在Python 2.5中添加的。
S.partition(sep) ->(头,sep,尾) 搜索S中的分隔符sep,并返回它之前的部分, 分离器本身和后面的部分。如果分隔符不是 found返回S和两个空字符串。
推荐文章
- 如何在交互式Python中查看整个命令历史?
- 如何显示有两个小数点后的浮点数?
- 如何用OpenCV2.0和Python2.6调整图像大小
- 在每个列表元素上调用int()函数?
- 当使用代码存储库时,如何引用资源的相对路径
- 如何在Flask-SQLAlchemy中按id删除记录
- 在Python中插入列表的第一个位置
- Python Pandas只合并某些列
- 如何在一行中连接两个集而不使用“|”
- 从字符串中移除前缀
- 代码结束时发出警报
- 如何在Python中按字母顺序排序字符串中的字母
- 在matplotlib中将y轴标签添加到次要y轴
- 如何消除数独方块的凹凸缺陷?
- 为什么出现这个UnboundLocalError(闭包)?