在字符串中的某些字母之前/之后插入短语

时间:2014-09-16 01:41:55

标签: java string

嘿,今晚我的编码工作还有另一个问题。我应该写一个方法在传递的字符串s中的每个“a”前添加“bool”。但我的代码只将它添加到一个特定的“a”。如何用while循环修复它。谢谢!

让我们说s = banana

public static String insertBool(String s){
    int pos=s.indexOf("a");
    if(pos>-1){
    String firstS=(s.substring(0,pos));
    String secondS=(s.substring(pos, s.length()));
    return(firstS+"bool"+secondS);
    }
    else
        return s;
    }

2 个答案:

答案 0 :(得分:3)

你可以用“boola”替换字符串中的所有a。

public static String insertBool(String s) {
    return s.replaceAll("a", "boola");
}

答案 1 :(得分:0)

您可以使用String.replace()

public static String insertBool(String s) {
    if (s == null) {
        return null;
    }
    return s.replace("a", "boola");
}

或者你可以使用更复杂的while之类的东西,

public static String insertBool(String s) {
    if (s == null) {
        return null;
    }
    StringBuilder sb = new StringBuilder();
    int i = 0;
    char[] arr = s.toCharArray();
    while (i < arr.length) {
        if (arr[i] == 'a') {
            sb.append("bool");
        }
        sb.append(arr[i]);
        i++;
    }
    return sb.toString();
}