English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java String replaceAll()方法用指定的文本替换与字符串的正则表达式匹配的每个子字符串。
replaceAll()方法的语法为:
string.replaceAll(String regex, String replacement)
replaceAll()方法有两个参数。
regex - 要替换的正则表达式(可以是典型的字符串)
replacement - 匹配的子字符串被替换为该字符串
replaceAll()方法返回一个新字符串,其中每次匹配子字符串的出现都替换为替换字符串(replacement)。
class Main { public static void main(String[] args) { String str1 = "aabbaaac"; String str2 = "Learn223Java55@"; // 表示数字序列的正则表达式 String regex = "\\d+"; // 所有出现的“aa”都换成“zz” System.out.println(str1.replaceAll("aa", "zz")); // zzbbzzac // 用空格替换数字或数字序列 System.out.println(str2.replaceAll(regex, " ")); // Learn Java @ } }
"\\d+" 是一个匹配一个或多个数字的正则表达式。
replaceAll()方法可以采用一个正则表达式或一个典型字符串作为第一个参数。这是因为一个典型的字符串本身就是一个正则表达式。
在正则表达式中,有些字符具有特殊含义。这些元字符是:
\ ^ $ . | ? * + {} [] ()
如果需要匹配包含这些元字符的子字符串,则可以使用\或使用replace()方法对这些字符进行转义。
// Program to replace the + character class Main { public static void main(String[] args) { String str1 = "+a-+b"; String str2 = "Learn223Java55@"; String regex = "\\+"; // استبدال "+" بـ "#" باستخدام طريقة replaceAll() //// استبدال "+" بـ "#" باستخدام replaceAll() System.out.println(str1.replaceAll("\\+", "#")); // #a-#b // استبدال "+" بـ "#" باستخدام replace() System.out.println(str1.replace("+", "#")); // #a-#b } }
كما ترون، عند استخدام طريقة replace()، لا نحتاج إلى إزالة الحروف المضادة. للحصول على مزيد من المعلومات، يرجى زيارة:Java String replace()
إذا كنت بحاجة إلى استبدال فقط أول تطابق للفرع الم匹配، استخدمJava String replaceFirst()الطريقة.