【发布时间】:2010-03-28 12:42:32
【问题描述】:
如何在 Java ME 中将“a b”替换为“a b”?
replace() 方法不接受字符串,而只接受字符。而且由于双空格包含两个字符,我想我有一个小问题。
【问题讨论】:
标签: string java-me replace char
如何在 Java ME 中将“a b”替换为“a b”?
replace() 方法不接受字符串,而只接受字符。而且由于双空格包含两个字符,我想我有一个小问题。
【问题讨论】:
标签: string java-me replace char
你觉得这个怎么样?我自己试过一个。
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();
}
【讨论】: