2017-08-09 21 views
-5

たとえば、私はString info = "You have 2$ on your public transport card and one active ticket which expires on 2017-08-09 23.59"を持っていて、そのうちの2つの部分だけを得たいと思っています。"2$""one active ticket which expires on 2017-08-09 23.59"です。文字列を別の単語に分割する方法は?

私はsplit()でこれをやろうとしましたが、インターネット上で単語を別の単語に分割する方法は見つけられません。また、私は外部サーバーから取得しているので、String infoを変更することはできません。

+1

これには 'split()'を使わないでください。 **正規表現**パターンを適用するには 'Pattern'を使い、必要な値を抽出するには*パターンをグループ化します。あなたが正規表現をまだ知っていないなら、あなたが学ぶべき素晴らしい時間ではありません。正規表現の例を次に示します:[regex101.com](https://regex101.com/r/QyUSpJ/1/) – Andreas

答えて

0

このコードは有効です。ただ、アンドレアスよう

String info = "You have 2$ on your public transport card and one active ticket which expires on 2017-08-09 23.59"; 
    Pattern pattern = Pattern.compile("(\\d\\$).*and\\s(.*)"); 
    Matcher m = pattern.matcher(info); 
    while (m.find()) { 
     System.out.println("First Group: " + m.group(1) + " \nSecond Group: " + m.group(2)); 
    } 

はあなたの文字列情報でグループを見つけるために、パターンや正規表現を使用する必要があり、その後、あなたが変数でそれらを安全に、今の私はちょうどそれらを印刷することができ、前に言いました。

関連する問題