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

javaobject oriented programmingprogramming更新于 2025/2/9 4:28:17

您可以通过用括号分隔表达式来在正则表达式中形成匹配组。在以下正则表达式中,第一组匹配数字,第二组匹配英文字母 −

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

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

由于表达式 $1 表示组 1,$2 表示组 2,如果您使用 replace() 方法(String 类)将上述 Java 正则表达式替换为 $1 $2,则当数字后跟单词时,给定输入字符串中的数字和单词之间将添加一个空格。

示例

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])";
      //读取用户输入
      Scanner sc = new Scanner(System.in);
      System.out.println("输入输入文本: ");
      String input = sc.nextLine();
      //String result = input.replaceAll(regex, " ");
      String result = input.replaceAll( "(\d)([A-Za-z])", "$1 $2" );
      System.out.println(result);
   }
}

输出

输入输入文本:
21这23是56示例99文本
21这23是56示例99文本

同样,您可以在给定文本中的数字和字母之间添加空格,而不管您需要用空格 − 替换以下表达式的顺序如何

(?<=[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])";
      //读取用户输入
      Scanner sc = new Scanner(System.in);
      System.out.println("输入文本: ");
      String input = sc.nextLine();
      //String result = input.replaceAll(regex, " ");
      String result = input.replaceAll( regex, " " );
      System.out.println(result);
   }
}

输出

输入文本:
21This23is56sample99text
21 This 23 is 56 sample 99 text

相关文章


有用资源