朋友小A在整理一份材料時,經常會用掃描儀將已有的紙質材料轉換成電子文檔,但是,用OCR軟件識別出來的文字,總把“引”字識別成“弓1”或“弓i”、“弓l”。他使用WPS文字中的替換功能,選使用通配符,用“引”替換“弓*”,結果是只替換了“弓”字,而後面的那個字母沒有被替換掉,因此向本“磚家”求教。
哈哈,找到本“磚家”就算找對人了。本“磚家”不客氣地告訴他:用查找替換功能來實現,方向是對了,但替換的技巧還沒有掌握。
在小A的方法中,“查找”的對象是“弓*”,會讓WPS很為難,因為“*”作為通配符,一般是要放在查找內容的中間,也就是前後都要有內容。否則,因為“*”表示“有任意多個任意字符”,後面又沒有特定字符來限制,會導致系統不知你到底要找什麼,結果就只查找到了“弓”(任意多也當然包括“0”個呀),當然替換掉的也只是“弓”字,後面緊跟著的“i”、“l”、“1”等字符並不會被一直替換掉。
那麼,應該怎麼做呢?除了“*”外,還有一個通配符“?”(半角問號),與“*”不同的是,一個“?”只代表一個字符,如果將查找內容設置為“弓?”,就能查找到“弓1”或“弓i”、“弓l”了。但是,這樣還會導致另外一個問題,就是雖然OCR識別錯誤的“弓1”或“弓i”、“弓l”都被替換成“引”了,但是原本正確的“弓箭”和“驚弓之鳥”中的“弓之”等也被替換成了“引”,這可不行!
看著小A那驚訝加佩服的眼神,我的虛榮心得到了極大的滿足,沒什麼說的,把我的看家本領拿出一兩件來教他吧。
在“查找內容”中輸入“弓[1il]”,在“替換為”中輸入“引”,點一下“全部替換”(如圖),好了,“弓1”或“弓i”、“弓l”全部替換成“引”了,而“驚弓之鳥”卻並沒有變成“驚引鳥”!
在這裡,方括號的作用是“只要與其中任意一個字符匹配”,就會被查找到,這樣,既找到了所有要找的內容,又有效避免了“錯殺一萬”的問題。