2

皆さん、文字列のコンテンツを抽出したいのですが、この例のように、コンテンツは「&」の前と「=」の後にあります。

asdfaf=afl10109&adsfjkl

文字列から「afl10109」を抽出したいのですが、これを行う方法を教えてもらえますか?正規表現は初めてです...

4

4 に答える 4

8

入力全体を必要なものだけに置き換えるために使用replaceAll()します。

String target = str.replaceAll(".*=(.*)&.*", "$1");

ターゲットはグループ (グループ番号 1) に取り込まれ、置換文字列で参照されます。

于 2013-10-21T04:41:53.840 に答える
1

これはありませんregexが、使用することもできますsplit()

String str = "asdfaf=afl10109&adsfjkl";
System.out.println(str.split("=")[1].split("&")[0]);

出力:

afl10109
于 2013-10-21T04:39:09.130 に答える
1

古き良きものを使うString#substring()

String str = "foo=bar&baz";
int begin = str.indexOf('=');
if (begin != -1) {
    int end = str.indexOf('&', begin);
    if (end != -1) {
        System.out.println(str.substring(begin+1, end)); // bar
    }
}
于 2013-10-21T04:43:43.617 に答える