cannot find symbol
文字列を文字列に置き換えるために以下のコードを使用しているときに、NetBeansでエラーが発生します。
public String urlEncode(String msg) {
if (msg != null) {
msg=msg.replaceAll(" ","%20");
}
return msg;
}
助けが必要 !!
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();
}
次のコードを使用します
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;
}
}
Try an adapted version of URLEncoder
for JavaMe published on code.google.com under the project JibLib mobile client.
URLエンコーディングを処理するために独自の方法を使用する必要がありますか? URLEncoder.encode(String s, String enc) を使用するだけです
@param s String to be translated.
@param enc The name of a supported
@return the translated String.
replaceAll は Java 1.4 で導入されました。J2ME は 1.3 に限定されていると思います。実行時にシンボル エラーが発生するのは、最新の JDK でコンパイルする必要があるためです。
URLEncoder.encode (String s) が最善の策かもしれません。残念ながら、Xeon で提案されているように、URLEncoder.encode(String s, String enc) も JDK1.4 API 呼び出しです。