为了账号安全,请及时绑定邮箱和手机立即绑定

如何删除以某事开头和结尾的子字符串?

如何删除以某事开头和结尾的子字符串?

梵蒂冈之花 2022-06-28 16:51:16
如何从以特定字符组合开头和结尾的字符串中删除子字符串,例如:' bla <span class=""latex""> ... This can be different1 ... </span> blub <span class=""latex""> ... This can be different2 ... </span> bleb'我想要的结果:'bla blub bleb'我尝试过这样的事情string.replace('<span class=""latex"">' * '</span>', '')但这不起作用。有没有办法实现这个?
查看完整描述

4 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

如果您想要某些部分而不是其他部分,则需要使用组。


import re


s = ' cvbcx cvbcx <span class=""latex""> ... This can be different ... </span>vcvbcxbvxc'

r = re.search( r'(<span class=""latex"">)(.+)(</span>)', s)


print(s)

# cvbcx cvbcx <span class=""latex""> ... This can be different ... </span>vcvbcxbvxc


# print(r)

# <re.Match object; span=(13, 73), match='<span class=""latex""> ... This can be different >


print(r.group(1), r.group(3))

# <span class=""latex""> </span>


查看完整回答
反对 回复 2022-06-28
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

这可以工作:


>>> import re

>>> x=re.sub(r"""<span class=""latex"">.+?</span>""", "", s)


>>> x

' bla  blub  bleb'

正则表达式101


编辑:在 OP 澄清后,将答案更改为使用惰性量词而不是捕获组。虽然这可行,但它不能扩展到更复杂的情况。如果是这种情况,正确的解决方案是解析字符串并提取所需的内容。


查看完整回答
反对 回复 2022-06-28
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

阅读re.sub 函数。


一个简单的例子:


import re


s = ' cvbcx cvbcx <span class=""latex""> ... This can be different ... </span>vcvbcxbvxc'

re.sub(r'<span class=""latex"">.+</span>', '<span class=""latex""></span>', s)


>> ' cvbcx cvbcx <span class=""latex""></span>vcvbcxbvxc'


查看完整回答
反对 回复 2022-06-28
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

如果要将数据保留在两者之间:


    >>> x

'<span class=""latex""> ... This can be different ... </span>'

>>> 

>>> d = re.sub('<(/)?span(\ class=\"\".*\"\")?(>)', '', x)

>>> 

>>> d

' ... This can be different ... '

>>> 

如果要保留标签:


>>> x

'<span class=""latex""> ... This can be different ... </span>'

>>> 

>>> 

>>> 

>>> new_data = 'abc 123 456'

>>> 

>>> 

>>> d = re.sub('\">.*</','\">{}</'.format(new_data),x)

>>> 

>>> 

>>> d

'<span class=""latex"">abc 123 456</span>'

>>> 

>>> 

>>> 


查看完整回答
反对 回复 2022-06-28
  • 4 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信