2
c = "abc ab cd-abc-abc";

 String[] cinput = c.split("(?<=[ ])|(-)|(?<=ab cd)|(?=ab cd)");

文字列cを次のように分割したい(順序も重要です):

 cinput[0] = "abc " (notice the space)
 cinput[1] = "ab cd"
 cinput[2] = "abc"
 cinput[3] = "abc"

もう一つの例:

c = "abc-abc abc ab cd-ab-cd";

 cinput[0] = "abc" 
 cinput[1] = "abc "
 cinput[2] = "abc "
 cinput[3] = "ab cd"
 cinput[4] = "ab"
 cinput[5] = "cd"

区切り文字""、"-"および"abcd"。私のやり方で「abcd」は2つの配列要素「ab」と「cd」になりますが、それらを1つの要素にまとめたいと思います。

これを解決する方法と私が間違っていることについてのアイデアはありますか?

4

1 に答える 1

2

区切り文字のテキストに空白があり、区切り文字の 1 つとして空白があるため、追加のロジックを使用して複数のステップで分割を行う必要がある場合があります。

1) 生成される "-" で分割: { "abc ab cd", "adc", "abc" }
2) テキスト フィールドを確認する
if ( text[].contains("ab cd") )
- remove "テキストから ab cd" を保存
=> {"abc ", "abc", "abc"} and {"ab cd"}

3) 保存されていないテキストを空白で分割し、2 つのセットを結合します

于 2013-01-15T22:33:38.760 に答える