有没有办法在 MS Word 文档中查找模式而不是完全匹配?
我有一份文档,其中所有小数都写成/
而不是.
。例如,1.02
被写成1/02
,因为波斯语印刷术使用/
而不是.
作为小数点。
由于/
它不仅用于小数,而且还具有其他应用,例如分数,百分数等,有没有办法找到像N/M
在 Word 文档中一样的模式,其中N
表示小数并M
显示另一个小数?
答案1
例如 Word 文档中的“N/M”,其中 N 表示小数,M 还显示另一个小数
仅用于搜索,您可以将^#/^#
其用作搜索参数。在更多的选项,以及找到特别的,还有一些其他选项可能会有帮助。
Nb:,^#
是小数点后一位,因此如果您专门查找 x/yy,那么它就是^#/^#^#
等。
取代,
这是一个更好的选择,用 执行搜索([0-9])/([0-9])
并替换\1.\2
,并启用“使用通配符”
答案2
单词
使用 Microsoft 的正则表达式实现
按CTRL+ H» 点击更多的“ 使能够使用通配符
- 找什么:
([0-9]{1,2})/([0-9]{2})
- 用。。。来代替:
\1.\2
这看起来像一个疯狂的搜索模式,所以让我们检查一下:
[0-9]
代表单个数值(0、1、2、3、4、5、6、7、8 和 9){1,2}
用于计算前一个字符或表达式的出现次数。在我们的例子中,这意味着:仅搜索一个或两个数字。警告:如果你使用的是德语单词,则必须使用
;
作为分隔符,而不是,
/
没有特殊含义。它实际上是搜索斜线()
圆括号很重要。它们将模式划分为逻辑序列,以便我们稍后可以在替换模式中使用\1
,\2
...。\n
这样我们就可以保留值
阅读更多内容表情,一点一点在微软的支持文章中或在格雷厄姆市长之言网站
VBA(更好的解决方案)
我建议你使用更符合其他 RegEx 引擎默认设置的 VBA 方法。它们是更好地记录这样就会有更多的人来帮助你。
此宏要求使用 RegEx 模式在整个文档中进行搜索并将其替换为给定的字符串。
按ALT+F11打开 VBA 编辑器。将代码粘贴到任意位置并使用以下命令执行F5
Sub RegexReplace()
Dim RegEx As Object
Set RegEx = CreateObject("VBScript.RegExp")
On Error Resume Next
RegEx.Global = True
RegEx.Pattern = InputBox("Find what:")
ActiveDocument.Range = _
RegEx.Replace(ActiveDocument.Range, InputBox("Replace with:"))
End Sub
- 找什么:
(?!\d)/(?=\d)
- 用。。。来代替:
.