2012-01-31 2 views
0

Я знаю, что такие символы, как Quotations "&quote;", требуют специального приема при регулярном выражении на Java. Я хочу знать о символе «».Значок регулярного выражения для "'"

Также, если возможно, кто-то может связать меня с тем, где я могу найти имена символов.

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

String string = ""Hello&*(#$%Everyone!,\n is everyone a good time."";//Sample string requested by someone 

string = string.replaceAll("[^\\w!,.\n-&quote;?]+", " "); 

Там вы идете я добавил работоспособный пример тестирования

string = string.replaceAll("[^\\w!,.\n[-][']&quote;?]+", " ");& 
string = string.replaceAll("[^\\w!,.\n-'&quote;?]+", " "); 

enter image description here

+0

Какова реальная проблема здесь? – poitroae

+0

Нет, они не требуют специального приема. Возможно, вы думаете о том, как избежать символов в строках Java? Это было бы через обратную косую черту (\\). – theglauber

+2

Символ - это просто '' '' '. В чем проблема? – msi

ответ

0

Прежде всего я должен поблагодарить всех вас, которые приложили много усилий, чтобы помочь мне решить мою проблему. По-видимому, HTML имеют эти символы ',', которые не регистрируются как '.

и здесь исправление

string = string.replaceAll("[^\\w!’‘,.\n'&quote;&apose;?]+", " "); 
0

Просто добавьте символ между скобками [ ']

не требуется маскирование

+0

Нет, попробовал. Строка все еще вынимает его. – wesdfgfgd

+0

Если вы НЕ хотите удалить ', используйте '[^']' ... Также, скопируйте скобки вокруг ВСЕХ символов одновременно. Например, '[^ 'A-Z]' – VIDesignz

0

Если вы попытаетесь код типа:

String string = "Hello&*(#$%Everyone!,\n is everyone's a good time.?"; 
System.out.printf("[%s]%n", string.replaceAll("[^\\w!,'.\n?-]+", " ")); 

Выходом является:

[Hello Everyone!, 
is everyone's a good time.?] 

Вы можете увидеть котировка ' сохраняется в строке вывода.

+0

Можете ли вы попробовать регулярное выражение из моего ответа с помощью вашей фактической строки html? – anubhava

+0

Работает на нормальном java. Однако не работает на Android 2.2. – wesdfgfgd

+0

Хмм, к сожалению, я могу проверить свой код только в Java IDE. – anubhava

0

Использование string = string.replaceAll("[w!,.\n-'?]+", " ");. Вы используете ^ знак ведьмы означает: «не одно из следующего», так что не удивляйтесь, ставя ', что его не найти. В java regex ничего нет &quote.

+0

Нет. не работает. Пробовал. – wesdfgfgd

+0

Что!?! Дайте мне две строки: введите один и вывод, который вы хотели бы иметь. – msi

+0

Хотите, чтобы я выслал вам по электронной почте, как это выглядит? Нельзя просто разместить все на экране. Все еще не принимает его. Однако! на нормальной Java он принимает это не android 2.2. – wesdfgfgd

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