简体   繁体   中英

How to split a string from the first space occurrence only Java

I tried to split a string using string.Index and string.length but I get an error that string is out of range. How can I fix that?

while (in.hasNextLine())  {

    String temp = in.nextLine().replaceAll("[<>]", "");
    temp.trim();

    String nickname = temp.substring(temp.indexOf(' '));
    String content = temp.substring(' ' + temp.length()-1);

    System.out.println(content);

Use the java.lang.String split function with a limit.

String foo = "some string with spaces";
String parts[] = foo.split(" ", 2);
System.out.println(String.format("cr: %s, cdr: %s", parts[0], parts[1]));

You will get:

cr: some, cdr: string with spaces

Must be some around this:

String nickname = temp.substring(0, temp.indexOf(' '));
String content = temp.substring(temp.indexOf(' ') + 1);
string.split(" ",2)

split takes a limit input restricting the number of times the pattern is applied.

http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String,%20int)

String string = "This is test string on web";
String splitData[] = string.split("\\s", 2);

Result ::
splitData[0] =>  This
splitData[1] =>  is test string  


String string = "This is test string on web";
String splitData[] = string.split("\\s", 3);

Result ::
splitData[0] =>  This
splitData[1] =>  is
splitData[1] =>  test string on web

By default split method create n number's of arrays on the basis of given regex. But if you want to restrict number of arrays to create after a split than pass second argument as an integer argument.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM