2016-07-22 4 views
-4

У меня есть строка, которая содержит URL-адреса, разделенные | как это:Разделите несколько разделителей

http://...|http://...|http://...

но внутри некоторых URLs я могу иметь caracheter |, так что я мог бы разделить его с .split («| HTTP: //»), но проблема в том, что в некоторых URLs содержит еще URLs как этот

http://...|http://..=http://...=http://...|http://...=http%25253A%25252F%25252F...

Так как я могу разделить на |http:// or =http:// or =http%25253A%25252F%25252F с помощью регулярных выражений ?

+2

Разделяя Ваше исследование помогает всем. Сообщите нам, что вы пробовали, и почему это не соответствовало вашим потребностям. Это демонстрирует, что вы потратили время , чтобы попытаться помочь себе, это избавляет нас от повторения очевидных ответов, и, прежде всего, поможет вам получить более конкретный и релевантный ответ! Также см. [Как спросить] (http://stackoverflow.com/questions/how-to-ask) –

+0

Любые отзывы о моем ответе? –

ответ

2

Вы можете использовать следующий код:

String str = "http://www.google.com|https://support.microsoft.com/en-us/kb/301982|http://www.tutorialspoint.com/java/lang/string_split.htm"; 
String delimiters = "\\|(?=http)"; 

// analyzing the string 
String[] urls = str.split(delimiters); 

// prints the number of tokens 
System.out.println("Count of urls= " + urls.length); 

for(String url: urls) { 
    System.out.println(url); 
} 

Он будет разделен на | с последующим http. Выход для этого образца:

Count of urls = 3 
http://www.google.com 
https://support.microsoft.com/en-us/kb/301982 
http://www.tutorialspoint.com/java/lang/string_split.htm 
0

Вы можете попробовать этот код ниже:

// As your question in this string contains three https 
String httpStr = "http://...|http://..=http://...=http://...|http://...=http%25253A%25252F%25252F..."; 
// Split the string with 'http' that preceded by | 
String[] https = httpStr.split("(?<=\\|)http"); 
for (String http : https) { 
    System.out.println("http = http" + http); 
} 

И это результат:

http = http://...| 
http = http://..=http://...=http://...| 
http = http://...=http%25253A%25252F%25252F... 
Смежные вопросы