我有一根绳子。如何删除某个字符后的所有文本?(在这种情况下……) 之后的文字将…这就是为什么我想删除某一个字符之后的所有字符。


当前回答

如果你想删除一个字符串中最后出现的分隔符之后的所有内容,我发现这很好:

. join (string_to_split.split <分离器>(<分离器>)[1]):

例如,如果string_to_split是一个像root/location/child/too_far.exe这样的路径,并且你只想要文件夹路径,你可以通过"/".join(string_to_split.split("/")[:-1])分割,你将得到 根/位置/孩子

其他回答

假设你的分隔符是'…',但它可以是任何字符串。

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和两个空字符串。

find方法将返回字符串中的字符位置。然后,如果你想从角色中删除所有东西,这样做:

mystring = "123⋯567"
mystring[ 0 : mystring.index("⋯")]

>> '123'

如果你想保留字符,在字符位置上加1。

这是在python 3.7工作到我 在我的情况下,我需要删除后点在我的字符串可变费用

费用= 45.05 Split_string = fees.split(".", 1)

[0] . Substring = split_string

打印(字符串)

从文件中:

import re
sep = '...'

with open("requirements.txt") as file_in:
    lines = []
    for line in file_in:
        res = line.split(sep, 1)[0]
        print(res)

还有一种方法是删除字符串中字符最后一次出现之后的所有字符(假设您想删除最后一个'/'之后的所有字符)。

path = 'I/only/want/the/containing/directory/not/the/file.txt'

while path[-1] != '/':
    path = path[:-1]