logo

Java String replaceAll() メソッド

Java の String replaceAll メソッドは、指定された文字列または指定された値を検索するか、同じものを含む正規表現式を検索して、関連する文字を含む新しい文字列を返します。この記事では、Java replaceAll string メソッドについて学びましょう。

Java String replaceAll()

このメソッドは、 各部分文字列 指定された replace_str を持つ指定された正規表現に一致する文字列。



Java replaceAll String の構文

public String replaceAll(String regex, String replace_str)>

パラメーター

    regex: この文字列が照合される正規表現。 replace_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 replaceAll メソッドは 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 の正規表現

null 正規表現は replaceAll() メソッドでは受け入れられず、NullPointerException が発生します。

例:

ジャワ




unix ディレクトリを作成する

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