2013-03-07 19 views
0

У меня есть строка TMP, которая выглядит следующим образомспециальный символ # в строке

<a href="#" class="quickLinks" id="linkQL">Quick Links</a> 

Я хотел бы иметь возможность знать, что есть # после HREF = .. Я думал, что делать это таким образом если (tmp.indexOf («#») == 8), но я не могу, я думаю, что его, потому что # это специальный символ

+0

Это звучит неплохо для регулярных выражений. И, кстати, нет ничего особенного в '#' в строковых литералах Java. – NPE

+1

Что вы подразумеваете под «Я не могу»? tmp.indexOf ('#') должен вернуться 9. – longhua

+0

Если вы буквально хотите просто проверить, что строка '#' поступает где-то после строки 'href' (например, в атрибуте' id' после href), тогда вы можете используйте регулярное выражение. Если вы хотите проверить, находится ли '#' в атрибуте 'href', вы должны использовать синтаксический анализатор html. – theon

ответ

0

var tmp = '<a href="#" class="quickLinks" id="linkQL">Quick Links</a>';
tmp.indexOf('#');
Это возвращает 9 и ожидаемый результат.

+0

Вопрос помечен '[java]', и это не похоже на действительную Java для меня ... – NPE

+0

+1 Но очень точный ответ. –

1

Чтобы проверить # следует HREF, вы можете просто так:

if (input.contains("href=\"#\"")) 

Там нет необходимости включать регулярное выражение, а хэш-символ # не является специальным в Java, но кавычки символы двойной нужно избежать ,

+0

Одиночные кавычки являются действительными html или, по крайней мере, поддерживаются браузерами. Я думаю, это зависит от того, откуда html исходит из того, насколько вы уверены в том, как он будет выглядеть. – theon

0

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

boolean matches = s.matches(".+href\\s*=\\s*['\"]#['\"].+"); 
1

Если вы хотите проверить атрибут href содержит #, а затем использовать HTML-парсер, как jsoup

Document doc = Jsoup.parse(html); 
String href = doc.select("a").first().attr("href"); 
boolean isHash = href.equals("#"); 

Если вы действительно хотите просто проверить, если есть a # в любом месте на линии после href, вы можете использовать Regex - но я подозреваю, что это не то, что вы хотите.

Смежные вопросы