删除最后一次出现字符串后的所有内容

罗兰

我正在尝试编写一个函数来删除字符串末尾的不同短语。字符串可以包含不同位置的搜索词,我只想删除最后的部分。

一个例子:

原始字符串: Hello, we recieved the following incident. Regards, Mark: Hello we nee urgent help! Regards, Customer

更正的字符串: Hello, we recieved the following incident. Regards, Mark: Hello we need urgent help! Regards

列表中有多个搜索词或短语,因此我需要将字符串作为值传递给正则表达式。

我在删除字符串开头的短语时遇到了类似的问题,并得到了它的解决:

for eintrag in phrasen_anfang:
    if re.search(eintrag,text):
        new_text = re.sub(r'^.*{}'.format(re.escape(eintrag)), eintrag, text)

不过,我无法让它在字符串的末尾工作。

盖伊

您可以使用rindex来查找最后一次出现的索引并用它对字符串进行切片

string = 'Hello, we received the following incident. Regards, Mark: Hello we nee urgent help! Regards, Customer'
search_term = 'Regards'
index = string.rindex(search_term)
print(string[:index + len(search_term)])
# Hello, we received the following incident. Regards, Mark: Hello we nee urgent help! Regards

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在最后一次出现 10 个数字字符串后挑出所有内容

Javascript正则表达式匹配最后一次出现的字符串后的所有内容

JS删除字符最后一次出现后的所有内容

如何删除除最后一次出现的字符串以外的所有字符串?

删除第一行中最后一次出现所选字符后的所有内容

优雅地删除最后一次出现字符后的字符串部分

用熊猫替换字符串中字符的所有但最后一次出现的字符

如何删除字符串的第一次出现和最后一次出现之后的所有行?

在 TXT 中最后一次提到特定字符串后,使用 sed 删除所有行

删除字符最后一次出现之前的所有内容

在一行中第一次出现字符串后删除所有行

字符串删除最后一个连字符后的所有内容

正则表达式在最后一次出现特殊字符后删除字符串

如何从字符串中删除最后一次出现的子字符串?

Coldfusion字符串在最后一个逗号后删除所有内容

PHP删除字符串最后一个冒号后的所有内容

如何在 Common Lisp 中使用正则表达式来获取字符串中的所有内容,直到最后一次出现“/”?

最后一次在字符串中出现单词模式后删除零件

如何在不匹配特定字符串第一次出现之前和最后一次出现之后的所有行的同时保留一行的内容?

在最后一次出现特定字符后删除字符

oracle 12c-在最后一次出现字符后选择字符串

PCRE:(可选)在字符串中间最后一次出现字符后捕获

删除文件c ++中字符串中最后一次出现的字符

字符串操作以删除最后一次出现的字符“”

删除字符串列表中第一次出现X之前的所有内容

在某个符号最后一次出现后切断字符串

如何在Hive中最后一次出现单词后提取字符串

删除文件中最后一次出现后的所有文本

最后一次出现模式后如何删除所有行?