1

分割したいのは、次の文字列です。

<java><jquery><comments>

次のような分割方法を使用します。

   String s = "<java><jquery><comments>";
        String[] arr = s.split("<|>");
        for(String a: arr){
            System.out.println(a);
        }

出力は次のとおりです。

java

jquery

comments

問題は、空白行が必要ないことです。分割から返された配列のサイズは 6 です。私がしたいのは、3 文字の文字列のみです。

正規表現を使用してすべての文字を取得するか、上記のように分割する必要がありますか?

4

3 に答える 3

6

分割を に変更しs.split("[<>]+")ます。ただし、分割の仕組み""により、配列の先頭にはまだ があります。

于 2013-04-30T18:51:04.490 に答える
2

String#split ではなく、次のように Pattern、Matcher、Matcher#find を使用する必要があると思います。

Pattern p = Pattern.compile("<([^>]+)>");
Matcher m = p.matcher("<java><jquery><comments>");
for (int i=0; m.find(); i++)
    System.out.printf("MATCHED[%d]: [%s]%n", i, m.group(1));

出力:

MATCHED[0]: [java]
MATCHED[1]: [jquery]
MATCHED[2]: [comments]
于 2013-04-30T19:23:53.317 に答える