Ersel Aker
Ersel Aker

Reputation: 855

Split string with multiple delimiter including delimiters

I would like to split a string using multiple character delimiters, but I also want to store delimiters. My delimiters are ()+-*/

So for example, if I had a string

26+78(12*23)-16

I want to get

26

+

78

(

12

*

23

)

-

16

each line as a separate array element.

I think you can not use split function to achieve this. However, my trial with string-tokenizer also failed. How can I achieve this?

Upvotes: 4

Views: 1637

Answers (1)

Nishant
Nishant

Reputation: 55876

I wouldn't answer if it wasn't saturday night here:

    String s1 = "26+78(12*23)-16";
    for(String s: s1.split("(?<=[()+*/-])|(?=[()+*/-])")){
        System.out.println(">> " + s);
    }

gives:

>> 26
>> +
>> 78
>> (
>> 12
>> *
>> 23
>> )
>> -
>> 16

Upvotes: 9

Related Questions