Java 문자열 바꾸기All() 메서드

Java의 String replacementAll 메소드는 지정된 문자열이나 지정된 값을 검색하거나 동일한 내용을 포함하는 정규 표현식이 관련 문자가 있는 새 문자열을 반환하도록 제안합니다. 이번 글에서는 Java의 replacementAll 문자열 메소드에 대해 알아보겠습니다.

자바 문자열 바꾸기All()

이 방법은 각 하위 문자열 주어진 정규식과 주어진 replacement_str과 일치하는 문자열.

Java replacementAll 문자열 구문

public String replaceAll(String regex, String replace_str) 

매개변수

    regex: 이 문자열과 일치할 정규식입니다. replacement_str: 발견된 표현식을 대체할 문자열입니다.

반환 값

  • 이 메서드는 결과 문자열을 반환합니다.

Java의 String.replaceAll 메소드 예

자바




// 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 replacementAll 메소드는 Java에서 매우 효과적이지만 아래에 언급된 특정 예외가 발생합니다.

1. 잘못된 정규식

RaplaceAll() 메서드에 전달되면 잘못된 정규식으로 인해 PatternSyntaxException이 발생합니다.

예:

자바




// 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.(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. 널 정규 표현식

null 정규식은 replacementAll() 메서드에서 허용되지 않으며 NullPointerException이 발생합니다.

예:

자바




// 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.(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)