java - 動的URLの一部を抽出しますか?

okwaves2024-01-25  8

次の URL があります http://127.0.0.1/?code=AQABAAIAAAAGV_bv21

code= の後の文字をキャプチャする必要があります。 ただし、URL がロードされるたびに、コードは異なります。 このようなものがありましたが、動的であるため、これを行うことはできません..

String url = "http://127.0.0.1/?code=AQABAAIAAAAGV_bv21"

String code = url.substring(url.length() -10);

1

indexOf メソッドを使用して、'=' のインデックスを見つけます。そのようにして開始点を計算します

– ストゥルタスク

2020 年 9 月 3 日 8:27

1

split('=')[1] を使用

– ティルマル

2020 年 9 月 3 日 8:33

1

? の後の文字列を取得できます。新しい URL(url).getQuery() を使用します。

– 

user4910279

2020 年 9 月 3 日 8:38

@saka1029 良い指摘ですが、code= で始まるため、やはり = で分割する必要があります。

– デハール

2020 年 9 月 3 日 8:38

もちろん、得られるすべての回答/コメントは、クエリ パラメータが 1 つしかないという前提から始まります。他にもご要望がございましたら、お知らせください。

– フェデリコ・クレズ・クッジョカ

2020 年 9 月 3 日 8:55



------------------------

以下のようなものを使用できます:-

String code = url.split("?code=")[1];



------------------------

Android を使用している場合:

String url = "http://127.0.0.1/?code=AQABAAIAAAAGV_bv21"
Uri uri = Uri.parse(url);
String code = uri.getQueryParameter("code");

または、次の正規表現を試してください:

(\?|\&)([^=]+)\=([^&]+)



------------------------

これを試してください。

String url = "http://127.0.0.1/?code=AQABAAIAAAAGV_bv21";
String codeValue = url.replaceAll(".*code=([^&]*).*", "");
System.out.println(codeValue);

出力:

AQABAAIAAAAGV_bv21

このメソッドは、他のパラメータが追加された場合でも機能します。例: http://127.0.0.1/?id=123&code=AQABAAIAAAAGV_bv21&opt=yes

共有 この回答を改善します フォローする

2020 年 9 月 3 日 8:49 に回答

ユーザー4910279

ユーザー4910279

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。