Java 正則表示式程式在 Java 中數字和單詞之間新增空格。


你可以透過用括號將表示式分開,在正則表示式中形成匹配組。在以下正則表示式中,第一個組匹配數字,而第二個組匹配英文 -

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

總之,它匹配輸入字串中數字後跟字母的部分。

由於表示式 $1 表示 Group1,而 $2 表示 Group2,如果你用 $1 $2 替換上述 Java 正則表示式,使用 String 類的 replace() 方法,在給定輸入字串中當數字後跟單詞時,將在數字和單詞之間新增空格。

示例

 即時演示

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);
   }
}

輸出

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

類似地,你可以在給定的文字中新增數字和字母之間的空格,無論順序如何,你需要將以下表達式替換為空格 -

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

示例

 即時演示

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);
   }
}

輸出

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

更新於: 2020 年 1 月 10 日

2K+ 瀏覽

開始您的職業生涯

完成課程獲得認證

開始
廣告