簡體   English   中英

如何更改字符串中的字符 - 替換字母java

[英]How to change a char in a String - replacing letters java

模擬主題無法解決我的問題。 我需要在給定的String str中將char'a 'a'更改為'x'

示例:“abc”=“xbc”。 我只允許使用substring(), charAt() - 沒有replace()方法。

我的代碼到目前為止:

public static String ersetze(String text){
    for(int i = 0; i<text.length(); i++){

        if(text.substring(i, i+1).charAt(i) == 'a'){
            text.substring(i, i+1) = 'x'; 
        }
    }
    //return statement
}

現在錯誤是text.substring(i, i+1) = 'x'; 左分配必須是變量 - 清除。 但是現在如何將字母賦予變量? 如果我宣布一個char x; 如何將x放在String中以替換字母?

String在Java中是不可變的,因此您無法替換String的字母。 您需要創建一個新的String。

您可以將String轉換為字符數組並僅更改所需的字符串,然后從此數組創建一個新的String:

public static String ersetze(String text){
    char[] letters = text.toCharArray();

    for (int i = 0; i < letters.length; i++){
        if (letters[i] == 'a') {
            letters[i] = 'x';
        }
    }

    return new String(letters);
}

字符串不能替換為字符。 首先需要創建字符數組然后替換。

public static String ersetze(String text){
    char[] result = text.toCharArray();
    for(int i = 0; i < result.length; i++){
        if(result [i] == 'a'){
            result[i] = 'x';
        }
    }
    return String.valueOf(result);
}

如果你真的需要這個並且你只限於你提到的方法,那么每次找到請求的char時你都可以這樣做: text = text.substring(0, i) + x + text.substring(i + 1);

將字符串轉換為字符數組(包含在java API中),遍歷數組並用char數組中的所有“a”替換為“x”,然后將其更改回字符串。

暫無
暫無

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

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