1

文字列を区切り記号で分割する方法は知っていますが、文字列でどのように分割するかはわかりません。私が意味するのは、次のような文字列があるということです

"(a AND b) OR c"

括弧と AND や OR などの特殊な単語を無視するように分割したいと思います。それは私に文字列配列を返すはずです{a, b, c}

同じ文字列を次のような形式にすることもできます。"(a & b) || c"

a、b、c を文字列配列に取得し、それらの ID を見つけて、ID を代わりに初期文字列に入れたいと思います。

4

1 に答える 1

1

ここに手っ取り早い解決策があります:

String str = "(a AND b) OR c"; // Any string you want
String delims = "AND|OR|NOT|[!&|()]+"; // Regular expression syntax
String newstr = str.replaceAll(delims, " ");
String[] tokens = newstr.trim().split("[ ]+"); // RE syntax again
// tokens == ["a", "b", "c"]

delims は正規表現であり、さらに区切り文字がある場合は追加できることに注意してください。これは、「AND」、「OR」、「NOT」、および「!」、「&」、「|」、「(」、または「)」の 1 つ以上の文字を置き換えます。これらの各オカレンスをスペースに置き換えてから、文字列をスペースで分割します (配列に含まれないように前後をトリムしてください)。

ご不明な点がございましたら、お気軽にお問い合わせください。それが役に立てば幸い。

于 2012-08-11T02:11:59.287 に答える