控制台程序。

使用正则表达式执行查找和替换操作,只需要调用Matcher对象的find()方法,就可以调用appendReplacement()方法来替换匹配的子序列。在提供给方法的新StringBuffer对象中创建原始字符串的修订版本。appendReplacement()方法的参数是包含新字符串的指向StringBuffer对象的引用以及匹配文本的替换字符串。

1 import java.util.regex.Pattern;
 2 import java.util.regex.Matcher;
 3 
 4 class SearchAndReplace {
 5   public static void main(String args[]) {
 6     String joke = "My dog hasn't got any nose.\n"
 7                  +"How does your dog smell then?\n"
 8                  +"My dog smells horrible.\n";
 9     String regEx = "dog";
10 
11     Pattern doggone = Pattern.compile(regEx);
12     Matcher m = doggone.matcher(joke);
13 
14     StringBuffer newJoke = new StringBuffer();
15     while(m.find()) {
16       m.appendReplacement(newJoke, "goat");
17     }
18     m.appendTail(newJoke);
19     System.out.println(newJoke);
20   }
21 }