我讀過有關的文章常用表達已經。我的願望是在 Word 中操作帶引號的字串(我有 2013 版本)。
我需要用括號替換引號字元。
例如:
“你好世界。”
應替換為
(你好世界。)
我嘗試搜尋"*"
並替換為\(*\)
.
但我的嘗試並沒有成功。
答案1
這Microsoft Word 2007「尋找與取代」協助說:「當使用通配符如果選取複選框,Word 將僅查找您指定的確切文字。這個有點神秘的說法意味著
- 搜尋字母文字區分大小寫(儘管您可以使用類似 的搜尋表達式實現不區分大小寫
[Hh][Ee][Ll][Ll][Oo]
), - 直引號 (
"
) 和彎引號 (“
和”
) 不等價 - 搜尋一個不會找到其他任何一個,
……可能還有其他事情。
因此,如果您的文件使用直引號,請搜尋"([!"]@)"
. (Microsoft Word 通配符搜尋運算式 – 它們是不是正規表示式 – 用於表示任何字符[!qx-z]
其他比q
、x
、y
或z
, 因為^
用於其他事物(與\
真正的正則表達式中的角色相比),它們用來@
表示前一個字元或表達式的一次或多次出現,因為*
意味著任何字串,我猜他們認為分配對於不習慣真正的正規表示式的使用者來說,它的特殊含義+
可能會讓人感到困惑。如果您的文件使用大引號,請搜尋“([!“”]@)”
.或者,如果兩者都有,請搜尋[“"]([!“"”]@)["”]
.無論哪種情況,都替換為(\1)
.指\1
搜尋表達式中第一個(也是唯一一個)括號分隔組的內容,即引號之間的文字。有點令人困惑的是,這裡的括號只是文字字元;所以這給出了用括號替換引號的結果。
請注意,因為@
意味著一或多次出現前一個字元或表達式(即,它的作用類似於+
正規表示式),這些指令將找不到空字串(即,兩個連續的引號字符,它們之間沒有任何內容)。