Строка заменяет в Java ME двойной пробел - PullRequest
2 голосов
/ 28 марта 2010

Как я могу заменить "a b" на "a b" в Java ME?

Метод replace() не принимает строки, а только символы. И поскольку в двойном пробеле содержатся два символа, я думаю, у меня небольшая проблема.

Ответы [ 2 ]

3 голосов
/ 28 марта 2010

Что вы думаете об этом? Я попробовал один сам.

private String replace(String needle, String replacement, String haystack) {
    String result = "";
    int index = haystack.indexOf(needle);
    if(index==0) {
        result = replacement+haystack.substring(needle.length());
        return replace(needle, replacement, result);
    }else if(index>0) {
        result = haystack.substring(0,index)+ replacement +haystack.substring(index+needle.length());
        return replace(needle, replacement, result);
    }else {
        return haystack;
    }
}
2 голосов
/ 28 марта 2010

Вот одна функция , которую вы можете использовать:

public static String replace(String _text, String _searchStr, String _replacementStr) {
    // String buffer to store str
    StringBuffer sb = new StringBuffer();

    // Search for search
    int searchStringPos = _text.indexOf(_searchStr);
    int startPos = 0;
    int searchStringLength = _searchStr.length();

    // Iterate to add string
    while (searchStringPos != -1) {
        sb.append(_text.substring(startPos, searchStringPos)).append(_replacementStr);
        startPos = searchStringPos + searchStringLength;
        searchStringPos = _text.indexOf(_searchStr, startPos);
    }

    // Create string
    sb.append(_text.substring(startPos,_text.length()));

    return sb.toString();
} 
...