Archive for the 'Java Regular Expressions' Category

Java Regular Expressions – Single World Replacement Example /Tutorial

Kushal Paudyal January 16th, 2010

Please refer to my previous article for regular expression theory, classes and syntax. In this post I am posting a code that I wrote which does a single word replacement on a string using Pattern and Matcher. The example is straightforward. Please review the comments in the code below. I have placed useful comments at various statements in the code.

package com.kushal.regularexpressions;

/**
 * @author Kushal Paudyal
 * www.sanjaal.com/java
 * Last Modified On 2009-SEPT-16
 *
 * Using Regular Expressions To Replace
 * A Single Word From The String.
 */
import java.util.regex.*;

public class ReplaceSingleWord {
	static String originalString = "Google is Good. "
			+ "Google is Innovative. "
			+ "We think Google is the technology of the era";

	static String replaceWhat = "Google";

	static String replaceWith = "Sanjaal";

	public static void main(String[] args) throws Exception {

		System.out.println("...Before Replacement: \n" + originalString + "\n");

		/**
		 * Create a pattern to match Google.
		 * Pattern.compile () compiles the given regular
		 * expression into a pattern
		 */
		Pattern p = Pattern.compile(replaceWhat);

		// Create a matcher with an input string
		/**
		 * Creating a matcher with the original input string.
		 */
		Matcher m = p.matcher(originalString);

		StringBuffer sb = new StringBuffer();

		System.out.println("...Replacing \'" + replaceWhat + "\' with \'"
				+ replaceWith + "\'.\n");

		/**
		 * Try to find the next subsequence of the input sequence
		 * which patches the pattern.
		 */
		boolean result = m.find();

		/**
		 * Looping through to create a new string
		 * with replacement applied.
		 */
		while (result) {
			m.appendReplacement(sb, replaceWith);
			result = m.find();
		}

		/**
		 * Add the last segment of input to the new String
		 *
		 * appendTail () method Implements a terminal append-and-replace step.
		 * This method reads characters from the input sequence,
		 * starting at the append position, and appends them to
		 * the given string buffer. It is intended to be invoked
		 * after one or more invocations of the appendReplacement
		 * appendReplacement method in order to copy the
		 * remainder of the input sequence.
		 * Parameters:
		 * sb --> The target string buffer
		 * Returns:
		 * The target string buffer
		 */
		m.appendTail(sb);
		System.out.println("...After Replacement:\n" + sb.toString());
	}
}

====================
Output of this program:
…Before Replacement:
Google is Good. Google is Innovative. We think Google is the technology of the era

…Replacing ‘Google’ with ‘Sanjaal’.

…After Replacement:
Sanjaal is Good. Sanjaal is Innovative. We think Sanjaal is the technology of the era

Related Tutorials




Sanjaal.com is owned and maintained by Sanjaal Corps, Nepal. The company offers Webhosting and Domain Registration Services, IT Solutions and Business Analysis. Sanjaal.com website features H1B Visa Information, Entertainment Portal, Link Directory Service, Free Articles, Free Open Source Tutorials on Java and J2EE Platform, Digital Photography, High Resolution Picture Gallery and Free Reliable Image Hosting Services. Future plan includes Open Source Software Development Portal, Technical Solutions and Customizable Movie and Music Arena. We would be introducing data backup, data recovery, data hosting and voip solutions. Stay free from phishing – our website does not ask for your credit card and banking information. Happy Surfing!

Blog Widget by LinkWithin

Originally posted 2009-09-16 11:43:59.

  • Share/Bookmark

Next »


Your Ad Here