Cách cắt chuỗi lấy giá trị ngăn cách ký tự đặc biệt trong java

Mình có 1 string chứa như sau

String text = "@1@@2@@3@";

Vậy cho mình hỏi làm sao để lấy được các giá trị trong cặp @ này.
Cám ơn

Kết hợp subStringindexOf thôi :smile:

2 Likes

cụ thể như nào bạn, cho đoạn code demo đi bạn

Dùng indexOf để lấy vị trí các ký tự "@" đầu tiên, gọi là ký tự bắt đầu. Rồi lại xét indexOf từ vị trí bắt đầu để tìm vị trí kết thúc thôi :wink:

Solution
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Input string: ");
        String input = in.readLine();
        
        int start = input.indexOf("@");
        int close = input.indexOf("@", start + 1);
        while(start != -1 && close != -1)
        {
            System.out.println(input.substring(start + 1, close));
            start = input.indexOf("@", close + 1);
            close = input.indexOf("@", start + 1);            
        }
2 Likes

Còn có String.split() để tách chuỗi theo biểu thức chính quy (regex).

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?