0

私は現在、このコードを以下に持っています:

    Pattern intsOnly = Pattern.compile("\\d+");
    Matcher matcher = intsOnly.matcher(o1.getIngredients());
    matcher.find();
    String inputInt = matcher.group();

現在起こっていることは、正規表現を使用して、文字列内の最初の整数を見つけ、それを分離して、それに対してアクションを実行できるようにすることです。内部の整数を検索するために使用している文字列には多くの整数が含まれており、それらをすべて分離したいと考えています。最初の整数だけでなく、文字列から他の整数も記録するように、このコードを微調整するにはどうすればよいですか。

前もって感謝します!

4

1 に答える 1

2

投稿されたコードで:

matcher.find();
String inputInt = matcher.group();

find の 1 回の呼び出しで文字列全体を照合しています。そして、最初に一致した数字を String に割り当てますinputInt。たとえば、以下の文字列データがある場合、戻り値は1.

1 egg, 2 bacon rashers, 3 potatoes

ループを使用whileして一致をループする必要があります。

Pattern intsOnly = Pattern.compile("\\d+");
Matcher matcher = intsOnly.matcher(o1.getIngredients());
while (matcher.find()) {
  System.out.println(matcher.group());
}
于 2013-09-22T23:55:24.843 に答える