Java-拆分字符串

Java-拆分字符串,java,string,split,Java,String,Split,我有一个字符串,当我试图用点分割它时,它被“分隔,它不会被吐出来 这是我的确切密码。请让我知道是什么原因导致这条线无法分开 public class TestStringSplit { public static void main(String[] args) { String testStr = "[Lcom.hexgen.ro.request.CreateRequisitionRO;"; String test[] = testStr.split("

我有一个字符串,当我试图用点分割它时,它被
分隔,它不会被吐出来

这是我的确切密码。请让我知道是什么原因导致这条线无法分开

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);
    }
}

我必须分开上面的字符串,只得到最后一部分。在上述情况下,它是
createrequisionro
而不是
createrequisionro请帮助我获取此信息。

更改
字符串测试[]=testStr.split(“.”)
to
String test[]=testStr.split(“\\”)

由于to的参数采用正则表达式参数,因此需要转义点字符(在正则表达式中表示通配符):

“.”是一个需要转义的正则表达式通配符。

请注意,它包含一个,
在正则表达式中有特殊的含义(其中),因此需要转义:

String test[] = testStr.split("\\.");
请注意,在正则表达式级别转义一次
\.
,要在字符串文本中指定
\.
,需要再次转义
\
。因此要传递给
string.split
的字符串是
“\\.”

或者另一种方法是在字符类中指定它,其中
失去了它的特殊含义:

String test[] = testStr.split("[.]");

您需要转义
,因为它是一个特殊字符,是一个。您的分割线需要:

String test[] = testStr.split("\\.");

您可以通过
StringTokenizer
拆分此字符串,并在点之间获取每个单词

StringTokenizer tokenizer = new StringTokenizer(string, ".");
String firstToken = tokenizer.nextToken();
String secondToken = tokenizer.nextToken();
在查找最后一个单词时,您还可以使用

String testStr = "[Lcom.hexgen.ro.request.CreateRequisitionRO;";
String yourString = testStr.substring(testStr.lastIndexOf('.')+1, testStr.length()-1);

Split将正则表达式作为参数。如果要按文字“.”拆分,则需要转义点,因为它是正则表达式中的特殊字符。尝试在点(\\.')前加两个反斜杠-希望这能满足您的要求。

我得到最后一个值,如
System.out.println(“最后一个值:“+test[test.length-1])
它还将最后一个打印为
createrequisionro但是我想要的是
createrequisionro
如何获得这个见我的答案。第二部分。可能的副本
String test[] = testStr.split("\\.");
String test[] = testStr.split("\\.");