Answers:
我可以告诉你一个更简单的方法。
只需将所有替换,
为,<space>
where <space>
表示空格,然后替换,<space><space>
为,<space>
以解决用户在逗号后确实放置空格的地方。
警告:如果您在数字中使用逗号(作为千位分隔符或十进制分隔符),则需要遍历文档以更正数字,例如“ 1,200”,现在将其呈现为“ 1,200”。
[!<]?,[!>]?
,特别是如果你不熟悉正则表达式的。使用前一个时,我需要执行几个步骤-查找带有字符串的记事本文档(或打开此SE页面),复制字符串,粘贴字符串,运行。不要以为我至少在前几次会相信我的大脑会记住它。
您可以使用以下模式:
[!<]?,[!>]?
这意味着:在任何字符之间找到一个逗号字符,而不是在单词的开头和单词的末尾。
因此,在下面的示例中,只能在“ 3,a”处找到逗号(而不是在“,1”和“ c,”处的逗号)
,123,abc,
搜索并更正逗号后没有空格。选中“使用通配符”并使用以下命令:
Find what: (,)([! ])
Replace with: \1 \2
(注意:“查找”中的“!”后面有一个空格)
如果您的文本包含上面的CTL语言/脚本(如北印度文/德文加里语)不起作用(不知道为什么?),请改用它(也适用于拉丁脚本语言):
Find what: (,)([! ]?)
Replace with: \1 \2
如果您的文本包含诗歌,则逗号可能会出现在行尾(在节中),不应在空格后加上空格,因此应添加条件以避免在行尾出现逗号:
Find what: (,)([! ^l]?)
Replace with: \1 \2
如果还应避免在段落末尾出现逗号,则在^ 13(段落标记)后加上^ l,但是这种可能性很小,只有当打字员在每行的末尾。
还有一种情况,如果您的文本包含包含逗号的数字(表示百分号,千分号的分隔符),请使用此方法避免不必要的此类逗号:
Find what: ([!0-9],)([! ^l][!0-9])
Replace with: \1 \2