Gunaseelan
Gunaseelan

Reputation: 15515

regex for split by single forward slash

I have following String,

https://www.google.com/https://www.yahoo.com/https://facebook.com/

I need to split this string as

https://www.google.com/

https://www.yahoo.com/

https://facebook.com/

I tried with :

String urls[] = firstHalf.split("/*");

Is it possible?

Upvotes: 1

Views: 806

Answers (2)

vb.stack
vb.stack

Reputation: 411

You can try this also :

    String test = "https://www.google.com/https://www.yahoo.com/https://facebook.com/";

    String[] urls = test.split("(?<!/)/(?!/)");

    for(String s:urls){

        System.out.println(s);
    }

Output

https://www.google.com https://www.yahoo.com https://facebook.com

Upvotes: 2

Tim Biegeleisen
Tim Biegeleisen

Reputation: 521093

We can try splitting on the following positive lookahead:

(?=https?:)

This would break the URL string whenever a new http or https protocol appears.

String input = "https://www.google.com/https://www.yahoo.com/https://facebook.com/";
String[] urls = input.split("(?=https?:)");
for (String url : urls) {
    System.out.println(url);
}

https://www.google.com/
https://www.yahoo.com/
https://facebook.com/

Demo

Upvotes: 6

Related Questions