Processing math: 100%

Java 正则表达式程序在 Java 中数字和单词之间添加空格。


你可以通过用括号将表达式分开,在正则表达式中形成匹配组。在以下正则表达式中,第一个组匹配数字,而第二个组匹配英文 -

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

总之,它匹配输入字符串中数字后跟字母的部分。

由于表达式 1Group12 表示 Group2,如果你用 12 替换上述 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])

Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.

示例

 实时演示

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+ 浏览

开始您的职业生涯

完成课程获得认证

开始
广告