2

DB からの文字列があります。文字列は次のようなものです:-

ABC:def,ghi:jkl,hfh:fhgh,ahf:jasg

つまりString:String、大きな値に対して繰り返されます。

この文字列を解析して単語のみを取得する:,、各単語を ArrayList に格納する必要があります

分割関数(2回)を使用して実行できますが、正規表現を使用すると、一度に実行して配列リストを取得できることがわかりました..

String strLine="category:hello,good:bye,wel:come";
        Pattern titlePattern = Pattern.compile("[a-z]");
        Matcher titleMatcher = titlePattern.matcher(strLine);
        int i=0;
        while(titleMatcher.find())
        {
            i=titleMatcher.start();
            System.out.println(strLine.charAt(i));  
        }

しかし、それは私に適切な結果を与えていません..それは私に見つかった一致のインデックスを与えることになり、それを追加する必要がありますが、これはあまり論理的でも効率的でもありません.

何か方法はありますか..

4

3 に答える 3

5
String strLine="category:hello,good:bye,wel:come";
String a[] = strLine.split("[,:]");
for(String s :a)
    System.out.println(s);
于 2012-04-06T06:03:26.757 に答える
1

Java StringTokenizer サンプルを使用します。

StringTokenizer st = new StringTokenizer(in, ":,"); 
while(st.hasMoreTokens()) 
  System.out.println(st.nextToken()); 
于 2012-04-06T06:06:32.147 に答える
0

正規表現を使って一度に文字列全体を解析できたとしても、複数回に分割するよりは読みにくくなると思います。

于 2012-04-06T06:03:24.067 に答える