Java 正则表达式程序在 Java 中数字和单词之间添加空格。
你可以通过用括号将表达式分开,在正则表达式中形成匹配组。在以下正则表达式中,第一个组匹配数字,而第二个组匹配英文 -
(\d)([A-Za-z])
总之,它匹配输入字符串中数字后跟字母的部分。
由于表达式 1表示Group1,而2 表示 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
广告