0

URL の太字部分をどのように解析して文字列に変換しますか?私の頭に浮かぶ唯一の方法は、クレイジーな部分文字列と indexOf であり、それは正しい方法とは思えません...そして、私は正規表現が特に得意ではないので、どんな助けでも大歓迎です。

http://url.com/portal/classic/showcase?portal%3AwindowState=normal&navigationalstate=JBPNS_rO0ABXelAARkZW1vAAAAAQAHdG9vbEJhcgAQX2pzZkJyaWRnZVZpZXdJZAAAAAEAIS9yaWNoZmFjZXMvY29tcG9uZW50LXNhbXBsZS54aHRtbAAcamF2YXgucG9ydGxldC5mYWNlcy5WaWV3TGluawAAAAEABHRydWUABHNraW4AAAABAAdibHVlU2t5AAZzYW1wbGUAAAABAAd0b29sQmFyAAdfX0VPRl9f&portal%3AcomponentId=f708c77a-5730-44dd-b1f8-59215adca680&portal%3AresourceID= /images/icons/create_doc.gif &portal%3AcacheLevel=PAGE&portal% 3Atype=リソース&ポータル%3AportletMode=view"

PS ポータルの URL ですが、私は自由に使えるポートレット ツールのない JDK しか持っていないので、あまり重要ではありません :)

4

2 に答える 2

1

Apache URLEncodedUtilsはこれを行うことができます。

public static List<NameValuePair> parse(URI uri,
                        String encoding)

この種の正規表現ではなく、このようなライブラリを使用することをお勧めします。Apache ライブラリが以前に遭遇し、コード化されるエッジ ケースなどがあります。

于 2013-07-02T09:31:25.927 に答える