外部から取得したURLの末尾にスペースがある場合の対処

何らかの処理で外部からURL(外部の画像のURL等)を取得した際に、 そのURLの末尾にスペースが入っていると思わぬエラーを起こす要因となる。

URLをStringに型変換し

urlString = urlString.replaceAll(" ", "");

のような形で簡単にスペースを排除できればそれでいいのですが、 もし上手くいかない場合はUTF-8にURLエンコードして”+”扱いとなったスペースを排除すると 上手くいくと思われます。

以下がその処理の例となります。

urlString = URLEncoder.encode(urlString, "UTF-8");
if (urlString.indexOf("+") != -1) {
  urlString = urlString.replaceAll("\\+", "");
}
urlString = URLDecoder.decode(urlString, "UTF-8");