& nbsp;
- это только пробел в HTML. Воспользуйтесь парсером HTML для извлечения простого текста. и \ s
должны работать нормально.
Вы прояснили вопрос так, как я ожидал: на самом деле вы не ищете строковый литерал & nbsp;
, как многие здесь, кажется, думают, и для которого решение слишком очевидно.
К сожалению, нет возможности сопоставить их с помощью регулярного выражения. Лучше всего включать в шаблон определенные кодовые точки, например: "[\\ s \\ xA0]"
.
Отредактируйте , как выяснилось в одном из комментариев, вы можете использовать недокументированный "\\ p {Z}"
для этого. Алан, не могли бы вы оставить комментарий, как вы это узнали? Это весьма полезно.
& nbsp; не является пробельным символом, что касается регулярных выражений. Вам нужно либо изменить регулярное выражение, чтобы включить эти строки в дополнение к \ s, например / (\ s | & nbsp; |% 20) /, либо предварительно проанализировать содержимое строки, чтобы получить представление данных в формате ASCII или Unicode.
Здесь вы смешиваете уровни абстракции.
Если после внимательного перечитывания вопроса вам кажется, что это так, вам нужно найти способ сопоставить все пробельные символы, относящиеся к стандартному ASCII, плюс пробельные кодовые точки, \ p {Z}
или \ p {Zs}
выполнит работу.
Вам действительно следует прояснить свой вопрос, потому что он ввел в заблуждение множество людей (даже если вы дали правильный ответ, чтобы получить несколько голосов против).
& nbsp;
не является пробелом. Это последовательность кодировки символов, представляющая пробелы в HTML. Скорее всего, вы захотите преобразовать текст в кодировке HTML в обычный текст, прежде чем выполнять сопоставление строки с ним. Если это так, посмотрите вверх
javax.swing.text.html
Только символы регулярного выражения не зависят от кодировки. Вот список некоторых символов, которые - в Unicode - не печатаются:
Вот краткое изложение нескольких конкурирующих определений "пробелов":
http://spreadsheets.google.com/pub?key=pd8dAQyHbdewRsnE5x5GzKQ
чтобы явно перечислить дополнительные, которые вам важны, но не совпадающие с одним из сборных.