Java StringTokenizer定界一次

Java StringTokenizer定界一次,java,split,stringtokenizer,Java,Split,Stringtokenizer,我想用第一个空格分割一个字符串(行),但只分割第一个空格 StringTokenizer linesplit = new StringTokenizer(line," "); 以“这是一个测试”为例。然后我希望字符串是“This”和“is a test”。我如何使用StringTokenizer,或者有更好的选项吗?您可以这样做: String firstPart = line.substring(0, line.indexOf(" ")); String secondPart = line.

我想用第一个空格分割一个字符串(行),但只分割第一个空格

StringTokenizer linesplit = new StringTokenizer(line," ");

以“这是一个测试”为例。然后我希望字符串是“This”和“is a test”。我如何使用StringTokenizer,或者有更好的选项吗?

您可以这样做:

String firstPart = line.substring(0, line.indexOf(" "));
String secondPart = line.substring(line.indexOf(" ")+1);
检查文档:

您可以使用拆分

String[] a = s.split("(?<=^\\S+)\\s");
String[]a=s.split((?String.split(pattern,resultlength))执行此操作。
使用:


“,”2“参数表示生成的数组最大大小为2。

您必须为此修改自己的逻辑。类似于以下内容:

String[] linesplit = line.split(" ");
String firstString = linesplit[0];
String secondString = new String();
for(for int i=1; i< linesplit.length; i++)
{
    if(i==1)
    {
        secondString =  linesplit[i];
    }
    else if(i != linesplit.length-1)
    {
        secondString = seconString + " " + linesplit[i];
    }
    else
    {
        secondString = seconString + linesplit[i] + " ";
    }
}
String[]linesplit=line.split(“”);
String firstString=linesplit[0];
String secondString=新字符串();
对于(对于int i=1;i
+1非常好的解决方案。我不知道
split
有这个功能。它会返回“This”和“is-test”还是“This”和“is”?@Fazovsky“This”和“is-test”
String[] linesplit = line.split(" ");
String firstString = linesplit[0];
String secondString = new String();
for(for int i=1; i< linesplit.length; i++)
{
    if(i==1)
    {
        secondString =  linesplit[i];
    }
    else if(i != linesplit.length-1)
    {
        secondString = seconString + " " + linesplit[i];
    }
    else
    {
        secondString = seconString + linesplit[i] + " ";
    }
}