English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java String replace()方法用 新的字符/文本 替换 字符串中每个匹配的旧字符/文本。
replace()方法的语法是
string.replace(char oldChar, char newChar)
或
string.replace(CharSequence oldText, CharSequence newText)
要替换单个字符,replace()方法采用以下两个参数:
oldChar - 字符串中要替换的字符
newChar - 匹配的字符被替换为该字符
要替换子字符串,replace()方法采用以下两个参数:
oldText - 字符串中要替换的子字符串
newText - 匹配的子字符串被替换为该字符串
replace()方法返回一个新字符串,其中每次出现的匹配字符/文本都将替换为新字符/文本。
class Main { public static void main(String[] args) { String str1 = "abc cba"; //所有出现的“ a”都替换为“ z” System.out.println(str1.replace('a', 'z')); // zbc cbz //所有出现的“ L”都替换为“ J” System.out.println("Lava".replace('L', 'J')); // Java //字符不在字符串中 System.out.println("Hello".replace('4', 'J')); // Hello } }
주의:如果要替换的字符不在字符串中,则replace()返回原始字符串。
class Main { public static void main(String[] args) { String str1 = "C++ Programming"; //所有出现的“c++”都被替换为“Java” System.out.println(str1.replace("C", "++", "Java"); // Java Programming //모든 "a"가 "zz"로 대체됩니다 System.out.println("aa bb aa zz".replace("aa", "zz")); // zz bb aa zz // 서브 문자열이 문자열에 없습니다 System.out.println("Java".replace("C"++", "C"); // Java } }
주의:대체할 서브 문자열이 문자열에 없다면 replace()는 원래 문자열을 반환합니다.
주의할 점은 replace() 메서드가 전체 문자열에서从头부터의 서브 문자열을 대체한다는 것입니다. 예를 들어,
"zzz".replace("zz", "x") // xz
위 코드의 출력은 xz입니다. zx 대신 x가 첫 번째 zz를 대체했습니다.
정규 표현식을 기반으로 하여 문자열을 대체하려면 사용하세요Java String replaceAll() 메서드。