在Python中看到一个或多个字符之前,如何删除字符串中的所有内容

假设我有一个字符串,我想在看到某些字符之前或之后删除该字符串的其余部分

例如,我所有的字符串中都有“egg”:

“请吃个鸡蛋”
“我的鸡蛋很好”

我想得到:

“请给我鸡蛋”
“鸡蛋很好”

同样的问题是,除了字符前面的字符串外,我如何删除所有字符

您可以通过一个简单的索引使用str.find方法:

&gt&燃气轮机&燃气轮机;s=“请吃一个鸡蛋”
&燃气轮机&燃气轮机&燃气轮机;s[s.find('egg'):]
“请给我鸡蛋”

请注意,str.find如果找不到子字符串,将返回-1,并返回字符串的最后一个字符。因此,如果您不确定字符串是否始终包含子字符串,最好在使用它之前检查str.find的值

&gt&燃气轮机&燃气轮机;def切片器(my_str,sub):
...   index=my_str.find(sub)
...   如果索引=-1 :
...         返回my_str[索引:]
...   其他:
...         引发异常('未找到子字符串!')
... 
&燃气轮机&燃气轮机&燃气轮机;
&燃气轮机&燃气轮机&燃气轮机;切片机(“鸡蛋”)
“请给我鸡蛋”
&燃气轮机&燃气轮机&燃气轮机;切片机(“苹果”)
未找到子字符串!

发表评论