-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 に答える