我需要对包含后跟空格的逗号的文本执行搜索/替换,以更改为逗号+空格。
所以我可以使用以下方法找到它:
,[^\s]
但我正在为更换而苦苦挣扎;我不能只使用:
, (space, comma)
或者
& ,
因为匹配最初匹配两个字符。
有没有办法说 '&' - 1 ?或“&[0]”或其他意思;替换参数中的“匹配字符串,但只是其中的一部分”?
尝试提出这个问题的另一种方式:
- 我可以使用正则表达式来识别我的字符串的一部分吗。
- 但替换我的字符串的一部分(略有不同,但相关)。
我可能只是用逗号+空格替换每个逗号,但这更受控制,不太可能做出我不需要的更改....
例如:
原文:
Hello,World.
应该变成:
Hello, World.
但是:
你好,世界
。
应该保持为:
Hello, World.
目前,使用我的(坏的)模式我有:
原文:
Hello,World
之后(错误):
Hello, orld
我实际上正在为此使用 Python (2.6) 的“re”模块。
最佳答案
使用括号来捕获字符串的一部分是一种方法。另一种可能性是使用“先行断言”:
,(?=\S)
此模式匹配逗号仅当后跟非空白字符时。它不匹配任何后跟逗号的内容,但使用该信息来决定是否匹配逗号。
例如:
>>> re.sub(r",(?=\S)", ", ", "Hello,World! Hello, World!")
'Hello, World! Hello, World!'
关于python - "ReplaceWith"& - 但只是其中的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10233058/