-1

如何获得所需的输出?

输入字符串:

 " software Company(1920 of 2012)(sb.2)(sb.3) IBM on established (2009)"

要搜索的词 -

"software company(1920 of 2012)"

输出

*software Company(1920 of 2012)*(sb.2)(sb.3) IBM on established (2009) 

简而言之,我必须找到一个短语并将相同的短语替换为以星号 (*) 开头和结尾,忽略大小写和 MATCH EXACT WORLD i

4

1 回答 1

0

您可以使用以下方法轻松完成此操作String#replaceAll()

String original =  " software Company(1920 of 2012)(sb.2)(sb.3) IBM on established (2009)";
String subString = "software company(1920 of 2012)";
System.out.println("New String is: " + original.replaceAll("(?i)" + Pattern.quote(subString), "*$0*"));

(?i)添加 以使其不区分大小写,并Pattern#quote()用于转义子字符串中的特殊正则表达式字符。

这打印:

New String is:  *software Company(1920 of 2012)*(sb.2)(sb.3) IBM on established (2009)
于 2012-10-18T06:57:07.220 回答