Java での解析について多くの質問があることを理解しています。ただし、次の文字列を正確に解析する方法がわかりません-
入力文字列は次のとおりです-
[[0, 0] -> 0, [0, 1] -> 1, [0, 2] -> 2, [1, 0] -> 3, [0, 4] -> 1, [0, 1] -> 2, [0, 6] -> 3, else -> 2
出力を次のように解析したい -
Entry 1 : number1, number2, number3
Entry 2 : number4, number5, number6
...
したがって、この例の出力は次のようになります-
Entry 1 : 0, 0, 0
Entry 2 : 0, 1, 1
....
正確には、そのelse -> 2
部分は無視する必要があります。
今、私の質問は -
- 1 つのエントリにパターン以外のものが含まれています
- 角かっこ内の数字の量はさまざまです。たとえば、入力文字列は次のようになります-
[[0] -> 0, [1] -> 1, [2] -> 2, else -> 2
私が試したのは、私が示した2番目の例に分割を使用することでした-
String value = "[[0] -> 0, [1] -> 1, [2] -> 2, else -> 2";
value = value.replaceAll("\\[", "");
value = value.replaceAll("\\]", "");
String split[] = value.split(",");
for(int j=0;j<split.length;j++)
{
String split2[] = split[j].split("->");
split2[0] = split2[0].replaceAll("\\s","");
if(split2[0].contains("else"))
continue;
System.out.println(split2[0],+ " " + split split2[1].replaceAll("\\s",""));
}
しかし、これは角括弧内の可変量の数値では機能しません。パターンマッチングはどのように正確に行うべきですか? 正規表現を使用できますか?
ありがとう !