import java.util.regex.Pattern;
import java.util.regex.Matcher;public class Replace05 {
public static void main(String[] args) {
String example = "//chapterA****\n" +
"这是第一章,开始了\n" +
"..\n" +
"//chapterA_end****\n" +
"//chapterB****\n" +
"ad;fkj\n" +
"..\n" +
"//chapterB_end****";
String replacement = "替换成功";
String result;
/*Pattern p = Pattern.compile(
"(//chapterA\\*\\*\\*\\*).*(//chapterA_end\\*\\*\\*\\*)", Pattern.DOTALL);
Matcher m = p.matcher(example);
result = m.replaceAll("$1\n" + replacement + "\n$2");*/
result = example.replaceAll(
"(?s)(//chapterA\\\\*\\\\*\\\\*\\\\*).*(//chapterA_end\\\\*\\\\*\\\\*\\\\*)",
"$1\n" + replacement + "\n$2");
System.out.println(result);
}
}一次性操作用现在这个
大批量操作用注释里面的
import java.util.regex.Matcher;public class Replace05 {
public static void main(String[] args) {
String example = "//chapterA****\n" +
"这是第一章,开始了\n" +
"..\n" +
"//chapterA_end****\n" +
"//chapterB****\n" +
"ad;fkj\n" +
"..\n" +
"//chapterB_end****";
String replacement = "替换成功";
String result;
/*Pattern p = Pattern.compile(
"(//chapterA\\*\\*\\*\\*).*(//chapterA_end\\*\\*\\*\\*)", Pattern.DOTALL);
Matcher m = p.matcher(example);
result = m.replaceAll("$1\n" + replacement + "\n$2");*/
result = example.replaceAll(
"(?s)(//chapterA\\\\*\\\\*\\\\*\\\\*).*(//chapterA_end\\\\*\\\\*\\\\*\\\\*)",
"$1\n" + replacement + "\n$2");
System.out.println(result);
}
}一次性操作用现在这个
大批量操作用注释里面的
既然有了开始和结束标记,分别查出开始的位置index1,和结束的位置index2+(//chapterA_end****).length
然后用字符串截取的方式就可以办到了 位置0到index1 + “替换成功”+ (index2+(//chapterA_end****).length)到结尾