我有許多OCR處理過的文本,在行的中間有連字符。
示例:
這是一個在句子中間有一個hyphen- ated單詞的文本。但它也有-破折號-,就像第二句中的那些。后者不應該被修改。
我希望有一個干凈的文本,就像下面這個文本一樣,連字符被合并了:
我希望有一個干凈的文本,就像下面這個文本一樣,連字符被合并了。
這是一個中間有一個連字符的文本。但它也有- 破折號--像第二句中的那些。后者不應該 被修改。
通過洗掉連字符,這個-s*
?
s*
?
如果連字符位于行的末尾,那么這個regex將合并連字符的單詞。如何修改這個詞組來完成上述作業?連字符后的空格數可以是1,2或3,如hyphen- ated, hyphen- ated, hyphen- ated.
uj5u.com熱心網友回復:
你可以尋找一個非空格(一個詞的結尾),后面跟著-:
([^s])(->s*)
然后簡單地用$1替換,以保留該詞的最后一個字符。
這里是regex101.com上的一個作業例子:
https://regex101.com/r/V0mmBH/1
uj5u.com熱心網友回復:
使用notepad ,你可以使用這個模式,并用一個空字串來替換:
[^s-]K-s{1,3}。
該模式匹配:
[^s-]匹配除-以外的單個字符或空白字符K忘記目前已匹配的內容-s{1,3}匹配-和1-3個要洗掉的空白字符
另一個變體匹配1個以上的空白字符,并斷言除-以外的單個字符或右側的空白字符
[^s-]/span>K-s (?=[^s-])
或者用1-3量詞和lookahead:
[^s-]/span>K-s{1,3}(?=[^s-])
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/323760.html
標籤:
