子串后的换行符

时间:2013-05-23 00:15:49

标签: java regex substring matcher

如果我在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 个答案:

答案 0 :(得分:1)

你在找这样的东西吗?

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

$0代表组0,它与整个正则表达式匹配。另外,\n代替System.getProperty("line.separator"),您可以使用{{1}}选择操作系统中使用的分隔符。

答案 1 :(得分:1)

http://docs.oracle.com/javase/tutorial/essential/regex/matcher.html

上有关于Matcher的精彩教程

看起来该页面上描述的replaceFirst(String)和replaceAll(String)可以正常工作。它们将替换匹配的文本,您可以使用相同的文本替换\ n。

答案 2 :(得分:1)

你可能想要这样的东西,而不是使用matcher.find:

System.out.println(contentsToSearch.replaceAll("\\*/", "\n"));

答案 3 :(得分:1)

你可以这样做:

contentsToSearch = contentsToSearch.replaceAll("(/\\*|\\*/)", "$1\n")