Java程序要删除字符串中除“ 1”和“ 2”以外的所有数字?

  • 正则表达式“ (?<!\\ d) digit (?!\\ d) ”与指定的数字匹配。

  • replaceAll()方法接受两个字符串:正则表达式模式和替换字符串,并将模式替换为指定的字符串。

  • 因此,要删除字符串中除1和2以外的所有数字,分别用一个和两个分别替换正则表达式1和2,并用一个空字符串替换所有其他数字。

示例

import java.util.Scanner;
public class RegexExample {
   public static void main(String args[]) {
      //Reading String from user
      System.out.println("Enter a String");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      //Regular expression to match the digit 1
      String regex1 = "(?<!\\d)1(?!\\d)";
      //Regular expression to match the digit 2
      String regex2 = "(?<!\\d)2(?!\\d)";
      //Replacing all space characters with single space
      String result = input.replaceAll(regex1, "one")
         .replaceAll(regex2, "two")
         .replaceAll("\\s*\\d+", "");
      System.out.print("Result: "+result);
   }
}

输出结果

Enter a String
sample 1 2 3 4 5 6
Result: sample one two