java.lang.ArrayIndexOutOfBoundsException after two splits [duplicate] - java

This question already has answers here:
Java string split with "." (dot) [duplicate]
(4 answers)
Closed 6 years ago.
I want to split a string three times.
This is the string:
21.06.2016;00:30
My function looks like this:
String[] split = dateV.split(";");
String[] date = split[0].split(".");
String[] time = split[1].split(":");
date[0] should contain "21" after all
So the first part works great.
My two strings are
split[0] = 21.06.2016
split[1] = 00:30
But when I call split[0].split("."); I get a
java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
Can somebody tell me why?

String.split uses regular expressions to do the split, and a dot is a special character when regular expressions are used.
To split using a dot, you need to escape it like this
String[] date = split[0].split("\\.");

Related

How to split string into sentences in android and java? [duplicate]

This question already has answers here:
How do I get the file extension of a file in Java?
(33 answers)
Split string with dot as delimiter
(13 answers)
Closed 2 years ago.
Split method not working with "." in android and java .
String[] extension = selectedItem.getmName().split(".");
Try :
String[] extension = FilenameUtils.getExtension(selectedItem.getName())
Reference : How do I get the file extension of a file in Java?
Simply escape the ".":
String[] sentences = selectedItem.getmName().split("\\.");
Since "." is regex for any character the result would always be an array of 0 length since every character is a delimeter and split only returns what is not a delimeter - which would be nothing.
String[] sentences = selectedItem.getmName().split("\\.");
This must works. This is a special situation for dot.

Split a string into substring using '|' character [duplicate]

This question already has answers here:
Splitting a Java String by the pipe symbol using split("|")
(7 answers)
Closed 3 years ago.
I am trying to split a string as follows, "Client|Role". My regex is "|".
I expected two substrings as "Client" and "Role", but what I get is each and every character as a substring including the character in my regex. Why I am getting like this? Please help, Thanks in advance.
My code is as follows,
String output = "Client|Role";
String values[] = output.split("|");
You can split like this..
String b = "Client|Role";
String[] elements = b.split("\\|");

How to convert dot (.) separated string into array list? [duplicate]

This question already has answers here:
Split string with dot as delimiter
(13 answers)
Closed 7 years ago.
In my application I need to convert dot separated string to arraylist. I have seen in many places split function of string is used to separate comma separated string to Array List.I studied in the documentation split function requires expression for splitting.In my case I provided dot and it is not converting.Am I missing something? Please help me.Below is my code I am using
Here,
groupHierarchy.levelPrefix = 4201.4202;
ArrayList<String> levelPrefixList = new ArrayList<>(
Arrays.asList(groupHierarchy.levelPrefix.split(".")));
When I log this it shows
Log.e("tracking","level prefix list is "+ levelPrefixList);
Use following:
groupHierarchy.levelPrefix.split("\\.")
public String[] split(String regex) use regex, so you have to escape "."
See Split String on . as delimiter for more details.

Simple String Split [duplicate]

This question already has answers here:
split not working correctly
(4 answers)
Closed 9 years ago.
Clearly, I am losing my mind. I have the following string:
Tuesday|6:00 pm|Sub 10:00|Name
I want to split that into 4 tokens using the "|" as a delimiter. Easy, right?
String myString = "Tuesday|6:00 pm|Sub 10:00|Name";
System.err.println(myString);
String[] tokens = myString.split("|");
for (int i=0; i<4; i++) System.err.println(tokens[i]);
And here is my output:
Tuesday|6:00 pm|Sub 10:00|Name
T
u
e
What am I missing? (this is going to be one of those 'Doh!' moments, I predict.) Thank you!
split takes a regular expression as its argument. The pipe character | is a meta-character in regular expressions which denotes OR. It needs to be escaped
String[] tokens = myString.split("\\|");
otherwise the String is split into its individual characters

Java String Split: "Ignore" A Split Parameter [duplicate]

This question already has answers here:
Java: splitting a comma-separated string but ignoring commas in quotes
(12 answers)
Closed 9 years ago.
I'm trying to split a string every time there is a comma in it.
String myString = "\"Shire, Middle Earth\",Hobbits, J.R.R Tolkien";
My string, when printed out is: "Shire, Middle Earth",Hobbits, J.R.R. Tolkien
Notice that there is a space between Shire and Middle Earth
When I do the following...
String[] myString = line.split(",");
It counts the comma between the Shire and Middle Earth as a comma to split the data a (as it should). How can I get it to "ignore" that comma?
try this:
line.split(",(?!\\s)")
This is lookahead in regex. You can see this link here

Categories

Resources