替换位于之间的字符串

发布于 2021-01-29 18:05:05

这是我的问题:在一个文本且包含逗号的变量中,我尝试仅删除位于两个字符串(实际上是[])之间的逗号。例如,使用以下字符串:

input =  "The sun shines, that's fine [not, for, everyone] and if it rains, it Will Be better."
output = "The sun shines, that's fine [not for everyone] and if it rains, it Will Be better."

我知道如何使用.replace整个变量,但是我不能在其中使用它。这个站点上有一些主题,但是我没有针对自己的问题来利用它们,例如:

  • 重复提取文本文件Python中两个定界符之间的行
关注者
0
被浏览
42
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    import re
    Variable = “The sun shines, that’s fine [not, for, everyone] and if it rains, it Will Be better.”
    Variable1 = re.sub(“[[^]]*]“, lambda x:x.group(0).replace(‘,’,’‘), Variable)

    首先,您需要找到字符串中需要重写的部分(可以使用进行此操作re.sub)。然后,您重写那些部分。

    该函数的var1 = re.sub("re", fun, var)意思是:在te变量var中找到符合"re";的所有子字符串。用函数处理它们fun; 返回结果;结果将保存到var1变量中。

    正则表达式“ [[^]] *]”的意思是:查找以[(开头\[),包含](以外[^]]*)和以](结尾)结束的所有子串\]

    对于每个发现的事件,运行一个将该事件转换为新事件的函数。该函数是:

    lambda x: group(0).replace(',', '')
    

    这意味着:采用找到(group(0))的字符串,替换',''',换句话说,删除)并返回结果。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看