• ベストアンサー

Url相対アドレスについて

Javaなんですけど、下のような http://okweb.jp/petslife/snap/../common/rogo2.gif http://okweb.jp/petslife/snap/../health/../shop/index.html のようなアドレスを通常のような http://okweb.jp/petslife/common/rogo2.gif http://okweb.jp/petslife/shop/index.html にするコードを考えています。 スマートなやり方を教えてください。あと 二番目のようなアドレス指定は正しいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ganzou
  • ベストアンサー率29% (25/85)
回答No.1

indexOfをつかって、string "/../"の開始位置を取得し、そこまでの文字列の中からlastIndexOfをつかって"/"の位置を取得。 そして、"/*****/../"を"/"に置換する。 例 http://okweb.jp/petslife/snap/../common/rogo2.gif ならば、 まず、"/../"の前までを切り出す。 "http://okweb.jp/petslife/snap"を取り出す。 "/"前までを切り出す。"http://okweb.jp/petslife" "/../"の後の文字列"common/rogo2.gif"と上の文字列を"/"をはさんで連結。 "http://okweb.jp/petslife/common/rogo2.gif" という感じです。

ZeroWorld
質問者

お礼

なるほど~。大変参考になりました。これから 少し調べながらやってみようと思います。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A