python - 替换位于之间的字符串

标签 python regex string

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

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,但我不能对它的一部分使用它。 这个网站上有一些主题,但我没有设法利用它们来解决我自己的问题,例如:

最佳答案

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)的意思是:找到变量var中所有符合"re的子串";使用函数 fun 处理它们;返回结果;结果将保存到 var1 变量中。

正则表达式“[[^]]*]”的意思是:查找以[(\[ in re)开头的子串,包含除以外的所有内容]([^]]* in re)并以 ](\] in re)结尾。

对于每一个发现的事件运行一个函数,将这个事件转换成新的东西。 函数是:

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

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

关于python - 替换位于之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11096720/

相关文章:

python - 允许调整窗口大小 pyGame

c# - 将字符串写入文件会导致 C# 中的异常

windows - 如何在批处理文件中组合数字和字符串

Java 在字符串中找到某个字符后插入空格

python - Pandas 子集选择和 Pep8

python - 如何使用 Python 下载文件?

python - Python模块单元测试的最佳文件结构组织?

php - 我如何将apache服务器配置为代理http ://localhost:3000/and exclude some URL?

regex - 如何在 Emacs 中为 3 位数字创建正则表达式?

mysql - 从字符串中获取十进制值的正则表达式