特定の文字の後にある文字列から文字を取得する(Javaの)

Mehran:

私は、文字列から文字を取得して問題を抱えています。6x3 + 5 + 10x2ではでは、私は、文字列としてこれを持っているとした後、数を取得したいのx ^どのようにしている場合とのために使用せずにこれを行うことができますか?私を助けることができる任意の方法や正規表現はありますか?

アービンド・クマールのAvinash:

次のように実行します。

import java.util.Arrays;
import java.util.regex.MatchResult;
import java.util.regex.Pattern;

public class Main {

    public static void main(String args[]) {
        String exp = "6x^3 + 5 + 10x^2";
        String[] nums = Pattern.compile("(?<=x\\^)[0-9]+").matcher(exp).results().map(MatchResult::group)
                .toArray(String[]::new);
        System.out.println(Arrays.toString(nums));
    }
}

出力:

[3, 2]

注: マッチャー::結果は、唯一のJava 9以降で使用可能です。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=300910&siteId=1
おすすめ