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

Chương trình regex của Java để thêm khoảng trắng giữa một số và một từ trong Java.

Bạn có thể tạo các nhóm phù hợp trong biểu thức chính quy bằng cách tách các biểu thức bằng dấu ngoặc đơn. Trong biểu thức chính quy sau, nhóm đầu tiên khớp với các chữ số và nhóm thứ hai khớp với bảng chữ cái tiếng Anh -

(\\d)([A-Za-z])

Nói tóm lại, nó khớp với phần trong chuỗi nhập có một chữ số theo sau là một bảng chữ cái.

Vì biểu thức $ 1 biểu thị Nhóm1 và $ 2 biểu thị Nhóm2, nếu bạn thay thế Biểu thức chính quy Java ở trên bằng $ 1 $ 2, sử dụng phương thức Replace () (của lớp String), một khoảng trắng sẽ được thêm vào giữa số và một từ trong chuỗi đầu vào đã cho khi một số được theo sau bởi một từ.

Ví dụ

import java.util.Scanner;
public class SampleTest {
   public static void main( String args[] ) {
      String regex = "(?<=[A-Za-z])(?=[0-9])|(?<=[0-9])(?=[A-Za-z])";
      //Reading input from user
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      //String result = input.replaceAll(regex, " ");
      String result = input.replaceAll( "(\\d)([A-Za-z])", "$1 $2" );
      System.out.println(result);
   }
}

Đầu ra

Enter input text:
21This 23is 56sample 99text
21 This 23 is 56 sample 99 text

Tương tự, bạn có thể thêm khoảng trắng giữa các số và bảng chữ cái trong văn bản đã cho bất kể thứ tự bạn cần thay thế biểu thức sau bằng dấu cách -

(?<=[A-Za-z])(?=[0-9])|(?<=[0-9])(?=[A-Za-z])

Ví dụ

import java.util.Scanner;
public class SampleTest {
   public static void main( String args[] ) {
      String regex = "(?<=[A-Za-z])(?=[0-9])|(?<=[0-9])(?=[A-Za-z])";
      //Reading input from user
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      //String result = input.replaceAll(regex, " ");
      String result = input.replaceAll( regex, " " );
      System.out.println(result);
   }
}

Đầu ra

Enter input text:
21This23is56sample99text
21 This 23 is 56 sample 99 text