次の 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