我在從我的代碼中刪除破折號(hào)和空格時(shí)遇到問(wèn)題。例如:我希望 JD Smith Company 只是 JDSmith,或者 Mike-Jones Inc 只是 MikeJones。下面是我目前擁有的代碼。Pattern p = Pattern.compile("[\\.$|,|;|'|-|\\s|-]|\\b(\\s|LLC|Company|Incorporated|Co|Manufacturer|The|Limited|Ltd|Inc|Chemicals|Solutions|-\\s)\\b", Pattern.CASE_INSENSITIVE);Matcher m = p.matcher(dncMfgName.getStringCellValue());String name = m.replaceAll("");像 LLC 和 Inc 這樣的詞似乎消失了,但算法似乎被空格絆倒了。對(duì)于任何多余的代碼表示歉意,我對(duì)此仍然有點(diǎn)陌生!
1 回答

慕勒3428872
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊
不要在字符類
|
內(nèi)部使用[]
,除非您想匹配該|
字符。沒(méi)必要進(jìn)去
-
兩次。-
在字符類中具有特殊含義[]
,因此您需要對(duì)其進(jìn)行轉(zhuǎn)義(或?qū)⑵浞旁谧钋懊婊蜃詈螅?/p>.
在字符類中沒(méi)有特殊含義[]
,因此無(wú)需轉(zhuǎn)義它。\s
匹配所有空格,但您不想替換換行符,因此請(qǐng)改用\h
。無(wú)需在正則表達(dá)式的后半部分中匹配
\s
或(已在前半部分中介紹)。-
總而言之,這意味著:
[\h.$,;'-]|\b(?:LLC|Company|Incorporated|Co|Manufacturer|The|Limited|Ltd|Inc|Chemicals|Solutions)\b
請(qǐng)參閱演示。
添加回答
舉報(bào)
0/150
提交
取消