0

Java でパターンとマッチャーを使用する場合、部分文字列を見つけた直後に改行を追加するにはどうすればよいですか? アップデート

replaceAll(String,String);メソッドを使用して解決策を見つけました

どうもありがとう、私のソリューションは以下のようにフォーマットされています

 String contentsToSearch = "This is an example string /* example comment in my string */ with some extra text following my inline comment";
//String regex = "[*/]" ;
//Pattern pattern = Pattern.compile(regex);
//Matcher matcher = pattern.matcher(contentsToSearch);

//if(matcher.find()){
      // add a line break to the string i am searching
 //}else{
      // print out my string regularly
  //    System.out.println(contentsToSearch);
 //}
 contentsToSearch = contentsToSearch.replaceAll("\\*/", "\\*/\n");
 System.out.println(contentsToSearch);
4

4 に答える 4

1

あなたは単に行うことができます:

contentsToSearch = contentsToSearch.replaceAll("(/\\*|\\*/)", "$1\n")
于 2013-05-23T00:31:50.913 に答える
1

このようなものをお探しですか?

yourString = yourString.replaceAll("yourRegex","$0\n")

$0正規表現全体によって部分的に一致するグループ 0 を表します。また、代わりに、OS で使用されている区切り記号を選択するために\n使用できます。System.getProperty("line.separator")

于 2013-05-23T00:22:47.973 に答える
1

http://docs.oracle.com/javase/tutorial/essential/regex/matcher.htmlに、Matcher に関する優れたチュートリアルがあります。

そのページに記載されている replaceFirst(String) と replaceAll(String) が機能するようです。それらは一致するテキストを置き換え、同じテキストに \n を加えたものに置き換えることができます。

于 2013-05-23T00:25:18.343 に答える
1

matcher.find を使用する代わりに、おそらく次のようなものが必要です。

System.out.println(contentsToSearch.replaceAll("\\*/", "\n"));
于 2013-05-23T00:26:09.257 に答える