我在netbeans中收到错误cannot find symbol
,而使用下面的代码用字符串替换字符串。
public String urlEncode(String msg) {
if (msg != null) {
msg=msg.replaceAll(" ","%20");
}
return msg;
}
需要帮助!!
答案 0 :(得分:7)
我创建了以下方法,用另一个String替换String。
private String replace( String str, String pattern, String replace )
{
int s = 0;
int e = 0;
StringBuffer result = new StringBuffer();
while ( (e = str.indexOf( pattern, s ) ) >= 0 )
{
result.append(str.substring( s, e ) );
result.append( replace );
s = e+pattern.length();
}
result.append( str.substring( s ) );
return result.toString();
}
答案 1 :(得分: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 :(得分:2)
在项目code.google.com移动客户端下的JibLib上发布适用于JavaMe的URLEncoder
的改编版本。
答案 3 :(得分:0)
您是否确实需要使用自己的方法来处理URL编码? 只需使用URLEncoder.encode(String s,String enc)
@param s String to be translated.
@param enc The name of a supported
@return the translated String.
答案 4 :(得分:0)
replaceAll是在Java 1.4中引入的,我认为J2ME仅限于1.3。您必须使用以后的JDK进行编译,这就是您在运行时遇到符号错误的原因。
URLEncoder.encode(String s)可能是您最好的选择。不幸的是,Xeon建议的URLEncoder.encode(String s,String enc)也是一个JDK1.4 API调用。