簡體   English   中英

如何在Java中的某個位置替換字符串中的char?

[英]How do I replace chars in a String at a certain location in Java?

好的,我有一個字符串,可以說“ abcd”。 現在,我需要能夠在特定位置周圍放置像這樣的bracets。 例如,如果輸入為0(如索引0),則它將返回一個字符串,其中包含“ [a] bcd”;如果輸入為2,則它將返回“ ab [c] d”。 我將如何實施Java? String類中已經有一種方法可以做到這一點?

您可以使用StringBuilder輕松完成此操作:

// Note that this will need to copy things *twice*, which may be less
// efficient than just calling replace once, but it's cleaner
StringBuilder builder = new StringBuilder(text); 
builder.insert(index + 1, ']');
builder.insert(index, '[');
String newText = builder.toString();

myString = new StringBuilder(myString).insert(2, '[').insert(4,']').toString();

StringBuilder是一個很酷的類,可以幫助處理字符串。 它具有insert(int index, char c)方法,該方法將給定字符插入指定位置。 如圖所示,您可以為字符串創建一個新的StringBuilder ,插入所需的花括號,然后使用toString()方法將其轉換回String。

String類中有一個replace方法可以做到這一點。 StringBuffer和StringBuffer也具有這些方法。

        int index = 0;
        String input = "abcd";
        //System.out.println(Character.toString(input.charAt(index)));
        //System.out.println("["+input.charAt(index)+"]");
        String output = input.replace(Character.toString(input.charAt(index)), "["+input.charAt(index)+"]");
        System.out.println(output);

您可以使用StringBuffer執行此操作。

String st = new String("abcd");
st = new StringBuffer(st).insert(index+1,"]").insert(index, "[").toString();

通過StringBuffer 它有這樣的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM