2

可能重复:
正则表达式替换所有忽略大小写

如何获得所需的输出?

输入字符串 -

"Software Industry. software Industry. SOFTWARE INDUSTRY. software industry. "

要搜索的词 -

"software industry"

输出 -

"*Software Industry*. *software Industry*. *SOFTWARE INDUSTRY*. *software industry*. "

简而言之,我必须找到一个短语并用开始和结束星号 (*) 替换相同的短语,忽略案例..

4

3 回答 3

3

您可以为此使用模式匹配 (Regex)。

首先使用组提取短语并存储在字符串或任何其他数据结构中。然后使用替换功能来实现你的输出。

你可以参考这篇文章:http ://www.vogella.com/articles/JavaRegularExpressions/article.html

于 2012-10-17T06:25:08.533 回答
3

您可以使用replaceAllwith (?i)which will do case-insensitivereplace。

String str = "Software Industry. software Industry. SOFTWARE INDUSTRY. "+
                                                    "software industry. "
str = str.replaceAll("(?i)(software industry)", "\\*$1\\*");
于 2012-10-17T06:25:21.897 回答
2

您也可以尝试以下方法:

String str=new String("Software Industry. software Industry. SOFTWARE INDUSTRY. software industry.");
str=Pattern.compile("(software industry)",Pattern.CASE_INSENSITIVE).matcher(str).replaceAll("*$1*");
于 2012-10-17T06:27:30.507 回答