Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương trình Java xóa tất cả số trừ 1 và 2 trong chuỗi


Ý tưởng

  1. Dùng lookbehind/lookahead khớp số đơn lẻ: (? khớp "1" không liền số khác.
  2. Thay "1" → "one", "2" → "two".
  3. Xóa các số còn lại: \\s*\\d+ thay bằng rỗng.

Ví dụ

import java.util.Scanner;

public class RegexExample {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Nhập chuỗi: ");
        String input = sc.nextLine();
        String regex1 = "(?

Kết quả

Nhập chuỗi: sample 1 2 3 4 5 6
Kết quả: sample one two

Giải thích regex

  • (? - negative lookbehind: trước đó không phải chữ số
  • (?!\\d) - negative lookahead: sau đó không phải chữ số
  • \\s*\\d+ - khoảng trắng tùy chọn + một hoặc nhiều chữ số

Lưu ý

  • Thứ tự replace quan trọng: bảo toàn 1,2 trước, xóa số khác sau.
  • Lookbehind Java yêu cầu fixed-length (Java 8+ hỗ trợ bounded).
  • Để giữ số 12, 21... cần điều chỉnh regex.