8

私のアプリケーションでは、文字列のスペースを%20に置き換えたいと思っています。この方法で試しましたが、

String flag1="http://74.208.194.142/admin/upload_image/1342594079_images (2).jpg";
flag1.replaceAll("", "%20");

しかし、動作していません。助けてください。nullポインタ例外が発生しています。

4

4 に答える 4

10

次のようにする必要があります。

flag1 = flag1.replaceAll(" ", "%20");

最初に、スペースの代わりに空の文字列を入れていました..次に、値をflag1変数に返す必要があります..

于 2012-10-01T10:23:37.807 に答える
4

flag1.replaceAll()、スペースが不足しています。試す:

String flag1="http://74.208.194.142/admin/upload_image/1342594079_images (2).jpg";
flag1 = flag1.replaceAll(" ", "%20");

結果をflag1に設定します。

于 2012-10-01T10:25:53.247 に答える
4
    String flag1="http://74.208.194.142/admin/upload_image/1342594079_images (2).jpg";
    URI uri = null;
    try {
        uri = new URI(flag1.replaceAll(" ", "%20"));
    } catch (URISyntaxException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    System.out.println(uri);

コンソールには出力が次のように表示されます。

http://74.208.194.142/admin/upload_image/1342594079_images%20(2).jpg

于 2012-10-01T10:38:49.643 に答える
4

http://docs.oracle.com/javase/1.5.0/docs/api/java/net/URLEncoder.htmlをご覧ください。

交換が必要なのはブランクだけではありません。URL は、特別な意味を持つ特別な文字で構成されます (例: クエリ文字列を開始する疑問符)

String flag1 = URLEncoder.encode("This string has spaces", "UTF-8")
于 2012-10-01T12:19:31.120 に答える