FileDocCategorySizeDatePackage
ReplaceDemo.javaAPI DocExample1141Sun Feb 08 21:33:42 GMT 2004None

ReplaceDemo.java

import java.util.regex.*;

/**
 * Quick demo of RE substitution: correct "demon" and other
 * spelling variants to the correct, non-satanic "daemon".
 * @author Ian F. Darwin, http://www.darwinsys.com/
 * @version $Id: ReplaceDemo.java,v 1.5 2004/02/09 03:33:42 ian Exp $
 */
public class ReplaceDemo {
	public static void main(String[] argv) {

		// Make an RE pattern to match almost any form (deamon, demon, etc.).
		String patt = "d[ae]{1,2}mon";	// i.e., 1 or 2 'a' or 'e' any combo

		// A test input.
		String input = "Unix hath demons and deamons in it!";
		System.out.println("Input: " + input);

		// Run it from a RE instance and see that it works
		Pattern r = Pattern.compile(patt);
		Matcher m = r.matcher(input);
		System.out.println("ReplaceAll: " + m.replaceAll("daemon"));

		// Show the appendReplacement method
		m.reset();
		StringBuffer sb = new StringBuffer();
		System.out.print("Append methods: ");
		while (m.find()) {
			m.appendReplacement(sb, "daemon");	// Copy to before first match,
												// plus the word "daemon"
		}
		m.appendTail(sb);						// copy remainder
		System.out.println(sb.toString());
	}
}