首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >替换2个字符串之间的所有文本python

替换2个字符串之间的所有文本python
EN

Stack Overflow用户
提问于 2013-04-23 10:37:55
回答 5查看 28.9K关注 0票数 18

假设我有:

代码语言:javascript
复制
a = r''' Example
This is a very annoying string
that takes up multiple lines
and h@s a// kind{s} of stupid symbols in it
ok String'''

我需要一种方法来替换(或者只是删除)和"This“和"ok”之间的文本,这样当我调用它时,a now等于:

代码语言:javascript
复制
a = "Example String"

我找不到任何有效的通配符。任何帮助都是非常感谢的。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-04-23 10:47:13

您需要Regular Expression

代码语言:javascript
复制
>>> import re
>>> re.sub('\nThis.*?ok','',a, flags=re.DOTALL)
' Example String'
票数 17
EN

Stack Overflow用户

发布于 2018-12-18 10:02:08

另一种方法是使用字符串拆分:

代码语言:javascript
复制
def replaceTextBetween(originalText, delimeterA, delimterB, replacementText):
    leadingText = originalText.split(delimeterA)[0]
    trailingText = originalText.split(delimterB)[1]

    return leadingText + delimeterA + replacementText + delimterB + trailingText

限制:

  • 不检查分隔符是否存在
  • 假定没有重复的分隔符顺序正确的
票数 5
EN

Stack Overflow用户

发布于 2013-04-23 10:51:21

DOTALL标志是关键。通常,“.”字符与换行符不匹配,因此字符串中的所有行都不匹配。如果设置了DOTALL标志,re将根据需要在任意多行中匹配'.*‘。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16159969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档