2010-03-28 1 views

ответ

3

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

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

Here's one function вы могли бы использовать:

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(); 
} 
+0

Спасибо, я надеялся, что существует более короткое решение. Почему вы используете эти символы подчеркивания? указать переменные параметры? – hsmit

+0

Это хороший стандарт кодирования для обозначения переменных по-разному в зависимости от их объема. В коде Android Google используется префикс «m» для переменных экземпляра. Symbian использует префикс «i» для примера и префикс «a» для параметров метода. –

 Смежные вопросы

  • Нет связанных вопросов^_^