Matcher類的appendReplacement(StringBuffer,String)方法的行為與append-and-replace方法相同。此方法讀取輸入字符串,並將其替換為匹配字符串中的匹配模式。
用法:
public Matcher appendReplacement(StringBuffer buffer, String stringToBeReplaced)
參數:此方法有兩個參數:
- buffer:是存儲目標字符串的StringBuffer。
- stringToBeReplaced:這是匹配器中要替換的字符串。
返回值:此方法返回一個Matcher,其中替換了目標String。
異常:此方法引發以下異常:
- IllegalStateException:如果尚未嘗試匹配,或者先前的匹配操作失敗
- IllegalArgumentException:如果替換字符串指向模式中不存在的named-capturing組
- IndexOutOfBoundsException:如果替換字符串指向模式中不存在的捕獲組
下麵的示例說明Matcher.appendReplacement()方法:
範例1:
// Java code to illustrate appendReplacement() method
import java.util.regex.*;
public class GFG {
public static void main(String[] args)
{
// Get the regex to be checked
String regex = "(Geeks)";
// Create a pattern from regex
Pattern pattern
= Pattern.compile(regex);
// Get the String to be matched
String stringToBeMatched
= "GeeksForGeeks Geeks for For Geeks Geek";
// Create a matcher for the input String
Matcher matcher
= pattern.matcher(stringToBeMatched);
System.out.println("Before Replacement:"
+ stringToBeMatched);
// Get the String to be replaced
String stringToBeReplaced = "GEEKS";
StringBuffer buffer = new StringBuffer();
// Replace every matched pattern
// with the target String
// using appendReplacement() method
while (matcher.find()) {
matcher.appendReplacement(buffer,
stringToBeReplaced);
}
matcher.appendTail(buffer);
// Print the replaced matcher
System.out.println("After Replacement:"
+ buffer.toString());
}
}
輸出:
Before Replacement:GeeksForGeeks Geeks for For Geeks Geek After Replacement:GEEKSForGEEKS GEEKS for For GEEKS Geek
範例2:
// Java code to illustrate appendReplacement() method
import java.util.regex.*;
public class GFG {
public static void main(String[] args)
{
// Get the regex to be checked
String regex = "(FGF)";
// Create a pattern from regex
Pattern pattern
= Pattern.compile(regex);
// Get the String to be matched
String stringToBeMatched
= "FGF FGF FGF FGF";
// Create a matcher for the input String
Matcher matcher
= pattern.matcher(stringToBeMatched);
System.out.println("Before Replacement:"
+ stringToBeMatched);
// Get the String to be replaced
String stringToBeReplaced = "GFG";
StringBuffer buffer = new StringBuffer();
// Replace every matched pattern
// with the target String
// using appendReplacement() method
while (matcher.find()) {
matcher.appendReplacement(buffer,
stringToBeReplaced);
}
matcher.appendTail(buffer);
// Print the replaced matcher
System.out.println("After Replacement:"
+ buffer.toString());
}
}
輸出:
Before Replacement:FGF FGF FGF FGF After Replacement:GFG GFG GFG GFG
相關用法
- Java Matcher quoteReplacement(String)用法及代碼示例
- Java Matcher start(String)用法及代碼示例
- Java Matcher replaceAll(String)用法及代碼示例
- Java Matcher group(String)用法及代碼示例
- Java Matcher replaceFirst(String)用法及代碼示例
- Java Matcher appendReplacement(StringBuilder, String)用法及代碼示例
- Java Matcher end(int)用法及代碼示例
- Java Matcher end()用法及代碼示例
- Java Matcher requireEnd()用法及代碼示例
- Java Matcher hasAnchoringBounds()用法及代碼示例
- Java Matcher lookingAt()用法及代碼示例
- Java Matcher group(int)用法及代碼示例
- Java Matcher toString()用法及代碼示例
- Java Matcher hitEnd()用法及代碼示例
- Java Matcher group()用法及代碼示例
注:本文由純淨天空篩選整理自Kirti_Mangal大神的英文原創作品 Matcher appendReplacement(StringBuffer, String) method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。