You are viewing a plain text version of this content. The canonical link for it is here.
Posted to regexp-dev@jakarta.apache.org by bu...@apache.org on 2001/08/29 00:34:01 UTC

[DO NOT REPLY: Bug 2525] Leading zero-length string splitted by RE

PLEASE DO NOT REPLY TO THIS MESSAGE. TO FURTHER COMMENT
ON THE STATUS OF THIS BUG PLEASE FOLLOW THE LINK BELOW
AND USE THE ON-LINE APPLICATION. REPLYING TO THIS MESSAGE
DOES NOT UPDATE THE DATABASE, AND SO YOUR COMMENT WILL
BE LOST SOMEWHERE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2525

*** shadow/2525	Mon Jul  9 18:50:38 2001
--- shadow/2525.tmp.16057	Tue Aug 28 15:34:01 2001
***************
*** 16,19 ****
  |                              DESCRIPTION                                   |
  When I use an RE, say "a*b", to split a string like "aaabxyz", I'd think only 1 
  part comes out, but there are 2 parts, with the first is a zero-length string. 
! I wonder there is something missed in RE.split.
--- 16,38 ----
  |                              DESCRIPTION                                   |
  When I use an RE, say "a*b", to split a string like "aaabxyz", I'd think only 1 
  part comes out, but there are 2 parts, with the first is a zero-length string. 
! I wonder there is something missed in RE.split.
! 
! ------- Additional Comments From graham@keystroke.com  2001-08-28 15:34 -------
! This seems to be consistent behavior with the split() method in general,
! specifically when a pattern match returns true on the very first character of a
! String instance.
! 
! Since split() returns an array of Strings if this particular condition exists
! (the first character of a String happens to be matched by the pattern in the RE
! instance when split() is called) the first element in the string array will be
! returned as an empty String.
! 
! This results in either negating any matching characters from the front of the
! String instance they are about to split(), or negate the empty String element
! from the returned array once split() has been called.  If matching characters
! are encountered at the end of the String instance they either seem to be
! ignored, or removed from the array before the array is returned.  Shouldn't this
! either be consistent, or should split() contain options for splitting on
! concurrent matches to yield empty String elements (so that this condition can be
! managed)?