RFR: 8305486: Add split() variants that keep the delimiters to String and j.u.r.Pattern [v5]

Jaikiran Pai jpai at openjdk.org
Mon May 8 11:58:27 UTC 2023


On Mon, 24 Apr 2023 12:18:55 GMT, Raffaello Giulietti <rgiulietti at openjdk.org> wrote:

>> Add `split()` overloads to `String` and `java.util.regex.Pattern` that, in addition to the substrings returned by current `split()` variants, also return the delimiters matching the regular expression.
>
> Raffaello Giulietti has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Small optimization in private split().
>   Added tests to compare String and Pattern implementations, in particular for one char regex.

src/java.base/share/classes/java/lang/String.java line 3254:

> 3252:      *    <li> If the <i>limit</i> is positive then the pattern will be applied
> 3253:      *    at most <i>limit</i> - 1 times, the array's length will be
> 3254:      *    no greater than 2 · <i>limit</i> - 1, and the array's last

Hello Raffaello, when this is rendered, it looks like:

<img width="464" alt="centerdot" src="https://user-images.githubusercontent.com/143523/236816797-b8e0f64a-74a7-4d90-bf06-0350a023f24b.png">

I had to read up what `centerdot` is and from what I understand, it's used in mathematical notation for multiplication sign https://en.wikipedia.org/wiki/Interpunct#In_mathematics_and_science. 

However, I don't remember seeing similar usage in our API docs for multiplication symbol. I think, `*` has been widely(?) used in our API docs. Should we use `*` here too?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/13305#discussion_r1187358239


More information about the core-libs-dev mailing list