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


当前回答

在你的分离器上最多分裂一次,然后取出第一块:

sep = '...'
stripped = text.split(sep, 1)[0]

你没说如果分隔器不存在会发生什么。在这种情况下,这个和Alex的解决方案都会返回整个字符串。

其他回答

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

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

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

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

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

>> '123'

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

import re
test = "This is a test...we should not be able to see this"
res = re.sub(r'\.\.\..*',"",test)
print(res)

输出:“这是一个测试”

在你的分离器上最多分裂一次,然后取出第一块:

sep = '...'
stripped = text.split(sep, 1)[0]

你没说如果分隔器不存在会发生什么。在这种情况下,这个和Alex的解决方案都会返回整个字符串。

另一种使用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