Java中的String ReplaceAll方法搜索指定的字符串或指定的值,或者具有相同建议的正则表达式,返回具有相关字符的新字符串。让我们在这篇文章中了解一下Java的replaceAll字符串方法。
Java 字符串 replaceAll()
此方法将与给定正则表达式匹配的字符串的每个子字符串替换为给定的 replace_str。
Java 替换所有字符串的语法
public String replaceAll(String regex, String replace_str)
参数
- regex:该字符串要匹配的正则表达式。
- replace_str:将替换找到的表达式的字符串。
返回值
- 该方法返回结果字符串。
Java 中String.replaceAll 方法的示例
Java
// Java code to demonstrate the
// working of replaceAll()
public class rep2 {
public static void main(String args[])
{
// Initialising String
String Str = new String("Welcome to geeksforgeeks");
// original string
System.out.print("Original String : ");
System.out.println(Str);
// Using replaceAll to replace regex with
// replace_str
System.out.print(
"After replacing regex with replace_str : ");
System.out.println(
Str.replaceAll("(.*)geeks(.*)", "ASTHA TYAGI"));
}
}
输出
Original String : Welcome to geeksforgeeks After replacing regex with replace_str : ASTHA TYAGI
String.replaceAll Java 的异常
虽然 String ReplaceAll 方法在 Java 中非常有效,但即使它也会出现某些异常,如下所述:
1. 无效的正则表达式
在 raplaceAll() 方法中传递无效的正则表达式时,会引发 PatternSyntaxException。
例子:
Java
// Java Program to demonstrate
// replaceAll() method
import java.io.*;
// Driver class
class GFG {
// main function
public static void main(String[] args)
{
// input string
String str = "GFG";
System.out.println(str);
// NULL Regular expression
String regex = "\\";
// Passing null expression in
// replaceAll method
str = str.replaceAll(regex, " ");
System.out.println(str);
}
}
输出
Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 at java.base/java.util.regex.Pattern.error(Pattern.java:2027) at java.base/java.util.regex.Pattern.compile(Pattern.java:1788) at java.base/java.util.regex.Pattern.<init>(Pattern.java:1428) at java.base/java.util.regex.Pattern.compile(Pattern.java:1068) at java.base/java.lang.String.replaceAll(String.java:2126) at GFG.main(GFG.java:11)
2. 空正则表达式
replaceAll() 方法不接受 null 正则表达式,它会引发 NullPointerException。
例子:
Java
// Java Program to demonstrate
// replaceAll() method
import java.io.*;
// Driver class
class GFG {
// main function
public static void main(String[] args)
{
// input string
String str = "GFG";
System.out.println(str);
// NULL Regular expression
String regex = null;
// Passing null expression in
// replaceAll method
str = str.replaceAll(regex, " ");
System.out.println(str);
}
}
输出
Exception in thread "main" java.lang.NullPointerException at java.base/java.util.regex.Pattern.<init>(Pattern.java:1426) at java.base/java.util.regex.Pattern.compile(Pattern.java:1068) at java.base/java.lang.String.replaceAll(String.java:2126) at GFG.main(GFG.java:11)
相关用法
- Java String replaceAll()用法及代码示例
- Java String replace()用法及代码示例
- Java String replaceFirst()用法及代码示例
- Java String repeat()用法及代码示例
- Java String regionMatches()用法及代码示例
- Java String compareToIgnoreCase()用法及代码示例
- Java String compareTo()用法及代码示例
- Java String split()用法及代码示例
- Java String length()用法及代码示例
- Java String substring()用法及代码示例
- Java String equals()用法及代码示例
- Java String equalsIgnoreCase()用法及代码示例
- Java String contains()用法及代码示例
- Java String indexOf()用法及代码示例
- Java String trim()用法及代码示例
- Java String charAt()用法及代码示例
- Java String toLowerCase()用法及代码示例
- Java String concat()用法及代码示例
- Java String valueOf()用法及代码示例
- Java String matches()用法及代码示例
- Java String startsWith()用法及代码示例
- Java String endsWith()用法及代码示例
- Java String isEmpty()用法及代码示例
- Java String intern()用法及代码示例
- Java String getBytes()用法及代码示例
注:本文由纯净天空筛选整理自佚名大神的英文原创作品 Java String replaceAll() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。