Forums Register Login

Doubt in split()

+Pie Number of slices to send: Send
Can anyone please help me to undertsand why the output of the program is 4.

public class splitTry {
public static void main(String[] args) {
String str="aaaaaaaaabb";
String[] s=str.split("a{3}");
System.out.println(s.length);
}
}
+Pie Number of slices to send: Send
String str="aaaaaaaaabb";

When you split the above string using the given crieria(alpha numeric character at every 3rd position), it splits the String like this: "aaa", "aaa","aaa","bb"

and stores it in array at 0,1,2,3 index so the length is 4.
+Pie Number of slices to send: Send
String = "boo:and:foo"
Calling String.split() with following regex:

RegexResult
:{ "boo", "and", "foo" }
o{ "b", "", ":and:f" }

When regex is "o" an empty string is created when "oo" is found in boo. Why is an empty string not found when the String splits on the last two "oo"??
In other words y is the array length 3 and not 4 with two empty strings?
+Pie Number of slices to send: Send
When you call the split function with only one argument ,then it assumes that the second argument of the split function is zero. And when the second argument is zero then the pattern will be applied as many times as possible, the array can have any length, and trailing empty strings will be discarded. This is the reason why you are not seeing the trailing empty strings.
+Pie Number of slices to send: Send
@mallika arora:
The array contains after the split [, , , bb] so the length is 4.
[ October 10, 2007: Message edited by: Roland Schneider ]
Mo-om! You're embarassing me! Can you just read a tiny ad like a normal person?
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 733 times.
Similar Threads
Getting simple JBoss Seam sample to work
how to reduce the number of input parameters to a java function?
Enum Naming Convention
jsp
Navigation does not work
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 23:22:20.