Как заменить «a b» на «a» в Java ME?String заменить в Java ME двухместное пространство
Метод replace()
не принимает строки, но только символы. И так как двойное пространство содержит два символа, я думаю, что у меня небольшая проблема.
Как заменить «a b» на «a» в Java ME?String заменить в Java ME двухместное пространство
Метод replace()
не принимает строки, но только символы. И так как двойное пространство содержит два символа, я думаю, что у меня небольшая проблема.
Что вы думаете об этом? Я попробовал сам.
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;
}
}
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();
}
Спасибо, я надеялся, что существует более короткое решение. Почему вы используете эти символы подчеркивания? указать переменные параметры? – hsmit
Это хороший стандарт кодирования для обозначения переменных по-разному в зависимости от их объема. В коде Android Google используется префикс «m» для переменных экземпляра. Symbian использует префикс «i» для примера и префикс «a» для параметров метода. –