java.util.regex.Matcher.appendReplacement()



Description

The java.time.Matcher.appendReplacement(StringBuffer sb, String replacement) method implements a non-terminal append-and-replace step.

Declaration

Following is the declaration for java.time.Matcher.appendReplacement(StringBuffer sb, String replacement) method.

public Matcher appendReplacement(StringBuffer sb, String replacement)

Parameters

  • sb − The target string buffer.

  • replacement − The replacement string.

Return Value

This matcher.

Exceptions

  • IllegalStateException − If no match has yet been attempted, or if the previous match operation failed.

  • IllegalArgumentException − If the replacement string refers to a named-capturing group that does not exist in the pattern.

  • IndexOutOfBoundsException − If the replacement string refers to a capturing group that does not exist in the pattern.

Example

The following example shows the usage of java.time.Matcher.appendReplacement(StringBuffer sb, String replacement) method.

package com.tutorialspoint;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class MatcherDemo {
   private static String REGEX = "a*b";
   private static String INPUT = "aabfooaabfooabfoob";
   private static String REPLACE = "-";
   public static void main(String[] args) {
      Pattern pattern = Pattern.compile(REGEX);
      
      // get a matcher object
      Matcher matcher = pattern.matcher(INPUT);
      StringBuffer buffer = new StringBuffer();
      
      while(matcher.find()) {
         matcher.appendReplacement(buffer, REPLACE);
      }
      matcher.appendTail(buffer);
      System.out.println(buffer.toString());
   }
}

Let us compile and run the above program, this will produce the following result −

-foo-foo-foo-
javaregex_matcher.htm
Advertisements