題 替換Word中的引號(reg ex)


我有一個帶有不一致引號的大型文本文件,即

... Dolore magna aliquam“lorem ipsum”dolor sit amet,'consectetuer   adipiscing“elit,volutpat。Ut”wisi“enim ...

而且我想將每個現有的引用風格轉換為一種風格,Guillemet風格(»和«),所以例句應該像

... Dolore magna aliquam»lorem ipsum«dolor sit amet,»consectetuer   adipiscing«elit,volutpat。 Ut»wisi«enim ...

那隻有查找/替換通配符才可能嗎?我得到的最接近的正則表達式是

[“'"](?=[a-zA-Z\,\.\s])([a-zA-Z\,\.\s]*)[”'"]

但它不起作用。

提前致謝!


6
2018-03-31 19:45


起源


引號內是否有引號,是否應區別對待? - thursdaysgeek
有,但在這種情況下甚至嵌套的引號留在 » « 樣式。 - hihowareyou


答案:


使用前面/後面的空格來確定您想要的引號所在的單詞的“側面”。

\s 在正則表達式中匹配空白字符(即空格或製表符等)。

所以,先搜索一下 \s[“'"] 並替換為 <space>»,然後搜索 [”'"]\s 並替換為 «<space> (更換 <space> 與實際的空間字符:))。


3
2018-03-31 20:26



簡單而有效,謝謝! :)雖然,MS Word似乎不接受\ s作為空格字符(使用通配符檢查),但我會先看一下“Word for dummies”:)但是......有沒有辦法在Word中使用正則表達式除了通過查找/替換屏幕(和VB宏,因為我不能用VB編寫 - 我是python和C#的新手)? - hihowareyou
另一個新手問題;如果引號在逗號或停止標誌之前是正確的,即 "sample text", "second text".? - hihowareyou
只是組停止與空間,即: [”'"][\s,.]。如果你可以讀寫C#,你可以讀寫VB(A)。 ;) - Ƭᴇcʜιᴇ007
對於未來的讀者來說,相當於 \s 我在通配符中使用的是 [ ^s^t]:文字空間,不間斷的空間(^s)和標籤(^t)。 - cxw