Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python从字符串之间删除子字符串_Python_Regex_String - Fatal编程技术网

如何使用python从字符串之间删除子字符串

如何使用python从字符串之间删除子字符串,python,regex,string,Python,Regex,String,我有以下字符串 s = 'qwe starting alskdjklas jkld l;ksdl;kas l;;lask \n klasdkl;lasd \n ending askldjla' 我想删除任何介于开始。。。结束 我希望得到的结果是 qwe askldjla 有没有一种方法可以使用python re来实现这一点?您可以使用s.index(“starting”),它将为您提供启动的索引。在这种情况下,它将返回4,作为“启动”的索引 对“ending”执行相同的操作,但使用正则表达式

我有以下字符串

s = 'qwe starting alskdjklas jkld l;ksdl;kas l;;lask \n klasdkl;lasd \n ending askldjla'
我想删除任何介于开始。。。结束

我希望得到的结果是

qwe askldjla
有没有一种方法可以使用python re来实现这一点?

您可以使用
s.index(“starting”)
,它将为您提供启动的索引。在这种情况下,它将返回
4
,作为
“启动”
的索引

“ending”
执行相同的操作,但使用正则表达式将其偏移
“ending”

的长度

import re

s = 'qwe starting alskdjklas jkld l;ksdl;kas l;;lask \n klasdkl;lasd \n ending askldjla'
s = re.sub(r'starting.*ending', '', s, flags=re.DOTALL)
print(s)
不带正则表达式的

s = 'qwe starting alskdjklas jkld l;ksdl;kas l;;lask \n klasdkl;lasd \n ending askldjla'
s = s[:s.index('starting')] + s[s.rindex('ending') + 6:]
print(s)

在开始和结束之间。。。结束?我只是想删除两个字符串之间的任何字符串或数据。我得到了我的答案,我在使用标志时犯了一些语法错误。真的Tahnks@EyuelDK你是个救命的家伙,三个拇指支撑。你应该看看我的无正则表达式解决方案。我相信这很简单,因为你避免使用正则表达式。