Удаление серии символов в строке - PullRequest
0 голосов
/ 30 марта 2012

Мне нужно удалить все символы в строке после "?"пометить так:

http://xyz.com//static/css/style.css?v=e9b34

Однако я не могу просто плюнуть на это знаком "?", мне нужно убедиться, что шаблон что-то .xyz?any_char_or_symbols

Другими словами extension-?-any_chars_or_symbols

Кто-нибудь может дать подсказку?

Ответы [ 3 ]

1 голос
/ 30 марта 2012
return s.replaceFirst("(\\.\\w+\\?).*$", "$1");
1 голос
/ 30 марта 2012

Я что-то здесь упускаю или это делает:

String s = "http://xyz.com//static/css/style.css?v=e9b34";
int index = s.indexOf('?');
if (index<0)
    return null;
String returned = s.substring(0,index);
if (returned.endsWidth(".xyz");
    return returned;
else
    return null;
0 голосов
/ 03 апреля 2012

Сначала удалите символы после?затем проверьте наличие расширений.

String url="http://xyz.com//static/css/style.css?v=e9b34"   ;

url=url.substring(0, url.indexOf("?"));

System.out.print(""+url.matches("^[\\w\\d\\:\\/\\.]+\\.\\w{3}(\\?[\\w\\W]*)?$"));

url.matches проверит наличие расширений.Я определил это для 3 слов w {3}, но вы можете увеличить его как w {3,5}.теперь он принимает от 3 до 5 слов расширений.если вам нужны определенные форматы, используйте этот шаблон.

url.matches("^[\\w\\d\\:\\/\\.]+\\.(?i)(css|txt|html)?$")

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...