Java
 Computer >> コンピューター >  >> プログラミング >> Java

一致したすべてのコンテンツを置き換えるJava正規表現


必要な正規表現をコンパイルし、入力文字列をパラメーターとしてmatcher()メソッドに渡すことにより、マッチャーオブジェクトを取得したら。

MatcherクラスのreplaceAll()メソッドを使用して、入力文字列の一致したすべての部分を別のstr4ingに置き換えることができます。

このメソッドは文字列(置換文字列)を受け入れ、入力文字列内のすべての一致をそれに置き換えて結果を返します。

例1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReplaceAll{
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      String regex = "\\t+";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while (matcher.find()) {
         count++;
      }
      System.out.println("No.of matches: "+count);
      String result = matcher.replaceAll(" ");
      System.out.println("Result: "+result);
   }
}

出力

Enter input text:
sample text with tab spaces
No.of matches: 4
Result: sample text with tab spaces

同様に、MatcherクラスのreplaceFirst()メソッドを使用して、最初の一致を置き換えることができます。

例2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReplaceAll{
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      String regex = "\\d";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while (matcher.find()) {
         count++;
      }
      System.out.println("No.of matches: "+count);
      String result = matcher.replaceFirst("#");
      System.out.println("Result: "+result);
   }
}

出力

Enter input text:
test data 1 2 3
No.of matches: 3
Result: test data # 2 3

  1. Java正規表現のメタ文字\Bについて説明します。

    部分表現/メタ文字「\B 」は単語以外の境界に一致します。 例1 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExample {    public static void main( String args[] ) {       String regex = "\\Bcause";       Scanner sc =

  2. Java正規表現を使用して文字列から数値を抽出する

    以下は、Javaで正規表現を使用して文字列から数値を抽出する方法を示す例です。 文字列を解析してそこから情報を抽出できることは、すべてのテスターが持つべき重要なスキルです。これは、APIをテストするときに特に役立ち、JSONまたはXML応答を解析する必要があります。 次のJava正規表現の例は、文字列から数字または数字を抽出することに焦点を当てています。 文字列からすべての数値を抽出 import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExamples { public