Проверка, заканчивается ли String чем-либо с помощью Java (Regex) - PullRequest
9 голосов
/ 30 марта 2012

Мне нужно знать, проверяется ли конец строки на чем-то вроде .xyz плюс какие-либо символы после него.

Как это:

myString.endsWidth(".css*")

Однако это не проходит мое if-утверждение. Один конкретный пример - строка такого типа: style.css?v=a1b23

Есть идеи?

Полный пример Строка:

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

Ответы [ 5 ]

13 голосов
/ 30 марта 2012

гул, я думаю, что-то вроде этого еще лучше:

return myString.indexOf(".css")>-1;

Если вы действительно хотите использовать регулярное выражение, вы можете использовать это

return myString.matches(".*?\\.css.*");
3 голосов
/ 30 марта 2012

endsWith принимает строку в качестве параметра

matches принимает регулярное выражение

2 голосов
/ 30 марта 2012

Используйте ".*\.css.+" в качестве регулярного выражения.

0 голосов
/ 30 марта 2012

Попробуйте регулярное выражение:

Pattern p = Pattern.compile(".*\.css.*");
Matcher m = p.matcher("mystring"); 
if (m.matches()) {
    // do your stuff
}
0 голосов
/ 30 марта 2012

используйте \.(.{3})(.*), тогда первая группа ($ 1) содержит три символа после ., а вторая группа $ 2 содержит остаток строки после этих трех символов.Добавьте знак $ в конце выражения, чтобы он искал только строки, заканчивающиеся этой комбинацией

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