Java - Thay thế một số ký tự tại một chỉ số được chỉ định cụ thể trong một chuỗi(Replace a character at a specific index in a string).




Đề tài của bài viết đặt ra là làm cách nào thay thế một số ký tự trong chuỗi với vị trí được chỉ định cụ thể trong một chuỗi.

Ví dụ ta có một chuỗi là "Welcome come to VN-Live, please like if it's help you!" và ta muốn thay vào trí số 7 và 8 bằng một chuỗi khác là "--you--", vây ta phải làm như thế nào? Bài viết này để phân tích một số giải pháp cho trường hợp trên.



Chúng ta sẽ sử dụng ví dụ trên để thực hành đề mục này, theo như yêu cầu thì phương pháp ta nghĩ tới đầu tiên có thể là sử dụng hàm substring để giải quyết giống như sau:
// TODO, add your application code
String str_content = "Welcome come to VN-Live, please like if it's help you!";

//-- Use sub string in java ---------------
String str_substring = str_content.substring(0, 7) + " --you-- " + str_content.substring(8); 

Có thể nhiều bạn không biết Java có cung cấp lớp(class) StringBuffer và hàm replace để giải quyết trường hợp này. Lớp StringBuffer ở đây bạn có thể hiểu đơn giản nó là sự phát triển của lớp String khi nào rãnh tôi sẽ viết bài phân tích giữa StringBufferString sau.
StringBuffer str_builder = new StringBuffer(str_content);
str_builder = str_builder.replace(7, 8, " --you-- ");

Tất nhiên sẽ còn nhiều phương thức khác, nhưng ở đây tôi muốn trình bày về StringBuffer nên chỉ trình bày 2 phương thức thôi. Bạn nào có cách hay hơn thì chia sẻ tại đây nha.

Sau đây là toàn bộ source code mô tả cho đề mục.
/**
 * @(#)StringBuilder.java
 *
 * StringBuilder application
 *
 * @author VN-Lives
 * @version 1.00 2013/9/17
 */

public class StringBuilder {
   
    public static void main(String[] args) {
       
        // TODO, add your application code
        String str_content = "Welcome come to VN-Live, please like if it's help you!";
       
        //-- Use sub string in java ---------------
        String str_substring = str_content.substring(0, 7) + " --you-- " + str_content.substring(8);       
       
        //-- Use StringBuffer class ----------------
        StringBuffer str_builder = new StringBuffer(str_content);
        str_builder = str_builder.replace(7, 8, " --you-- ");
       
        System.out.println("String content     : " + str_content);
        System.out.println("String substring   : " + str_substring);
        System.out.println("String StringBuffer: " + str_builder.toString());
       
    }
}

Nếu bài viết bổ ích thì các bạn Like nhẹ phát giúp mình.











No comments:

Post a Comment