2

"."私はそれを分割しようとすると、dotそれが吐き出されないで区切られた文字列を持っています。

これが私が持っている正確なコードです。これにより文字列が分割されない原因を教えてください。

public class TestStringSplit {
    public static void main(String[] args) {
        String testStr = "[Lcom.hexgen.ro.request.CreateRequisitionRO;";
        String test[] = testStr.split(".");
        for (String string : test) {
            System.out.println("test : " + string);
        }
        System.out.println("Str Length : " + test.length);
    }
}

上記の文字列を分離し、最後の部分のみを取得する必要があります。上記の場合、これを取得するのを手伝ってくださいCreateRequisitionROCreateRequisitionRO;

4

7 に答える 7

5

この文字列を分割してStringTokenizer 、ドット間の各単語を取得できます

StringTokenizer tokenizer = new StringTokenizer(string, ".");
String firstToken = tokenizer.nextToken();
String secondToken = tokenizer.nextToken();

最後の単語CreateRequisitionROを見つけているので、使用することもできます

String testStr = "[Lcom.hexgen.ro.request.CreateRequisitionRO;";
String yourString = testStr.substring(testStr.lastIndexOf('.')+1, testStr.length()-1);
于 2013-04-24T06:16:35.947 に答える
2

.は特殊文字であるため、エスケープする必要があります。これらの完全なリストが利用可能です。分割線は次のようにする必要があります。

String test[] = testStr.split("\\.");
于 2013-04-24T06:16:27.760 に答える
1
String test[] = testStr.split("\\.");
于 2013-04-24T06:18:21.317 に答える
1

Split は、正規表現をパラメーターとして受け取ります。リテラル "." で分割する場合は、正規表現の特殊文字であるため、ドットをエスケープする必要があります。ドット ("\\.") の前に 2 つのバックスラッシュを入れてみてください。

于 2013-04-24T06:17:42.017 に答える