Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để trích xuất các số từ một chuỗi bằng cách sử dụng biểu thức chính quy?

Bạn có thể so khớp các số trong chuỗi đã cho bằng cách sử dụng một trong các biểu thức chính quy sau -

“\\d+”
Or,
"([0-9]+)"

Ví dụ 1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ExtractingDigits {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter sample text: ");
      String data = sc.nextLine();
      //Regular expression to match digits in a string
      String regex = "\\d+";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Creating a Matcher object
      Matcher matcher = pattern.matcher(data);
      System.out.println("Digits in the given string are: ");
      while(matcher.find()) {
         System.out.print(matcher.group()+" ");
      }
   }
}

Đầu ra

Enter sample text:
this is a sample 23 text 46 with 11223 numbers in it
Digits in the given string are:
23 46 11223

Ví dụ 2

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Just {
   public static void main(String[] args) {
      String data = "abc12def334hjdsk7438dbds3y388";
      //Regular expression to digits
      String regex = "([0-9]+)";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Creating a Matcher object
      Matcher matcher = pattern.matcher(data);
      System.out.println("Digits in the given string are: ");
      while(matcher.find()) {
         System.out.print(matcher.group()+" ");
      }
   }
}

Đầu ra

Digits in the given string are:
12 334 7438 3 388