如何忽略以下示例中的大小写?
outText = inText.replaceAll(word, word.replaceAll(" ", "~"));
Run Code Online (Sandbox Code Playgroud)
例:
输入:
inText = "Retail banking Wikipedia, the free encyclopedia Retail banking "
+ "From Wikipedia. retail banking industry."
word = "retail banking"
Run Code Online (Sandbox Code Playgroud)
产量
outText = "Retail~banking Wikipedia, the free encyclopedia Retail~banking " +
"From Wikipedia. retail~banking industry."
Run Code Online (Sandbox Code Playgroud)
aio*_*obe 23
要进行不区分大小写的搜索和替换,您可以更改
outText = inText.replaceAll(word, word.replaceAll(" ", "~"));
Run Code Online (Sandbox Code Playgroud)
成
outText = inText.replaceAll("(?i)" + word, word.replaceAll(" ", "~"));
Run Code Online (Sandbox Code Playgroud)
然而,在上面的方法中,你破坏了替换词的大写.这是一个更好的建议:
String inText="Sony Ericsson is a leading company in mobile. " +
"The company sony ericsson was found in oct 2001";
String word = "sony ericsson";
Pattern p = Pattern.compile(word, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(inText);
StringBuffer sb = new StringBuffer();
while (m.find()) {
String replacement = m.group().replace(' ', '~');
m.appendReplacement(sb, Matcher.quoteReplacement(replacement));
}
m.appendTail(sb);
String outText = sb.toString();
System.out.println(outText);
Run Code Online (Sandbox Code Playgroud)
输出:
Sony~Ericsson is a leading company in mobile.
The company sony~ericsson was found in oct 2001
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22605 次 |
| 最近记录: |