Мне нужно удалить все знаки препинания из слов в java, я попробовал это
System.out.println("do.,it".replaceAll("[^\\w]", ""));
System.out.println("сказочники".replaceAll("[^\\w]", ""));
Но это не будет работать с кириллицей или другими языками. Я уже пытался работать с
\p{Punct}
Но список не является полным, например
„ and »
Не хватает
Не уверен, поддерживает ли Java это, но попробуйте:
"сказочники".replaceAll("\P{wd}+", "")
где \P{wd}
обозначает любой неглавный символ на любом языке. Это противоположность \p{wd}
Попробуйте с этим регулярным выражением.
text = text.replaceAll("[^a-zA-Z0-9\\s]", "");
Это приведет к удалению всех специальных символов, кроме пробела.
Редактировать:
Поскольку это другой язык.
Предположим, вам нужно удалить - + ^.: ,
- + ^.: ,
Попробуйте это, text = text.replaceAll("[\\-\\+\\.\\^:,]","");
мое решение кажется
System.out.println("сказ очники»»«„"‚‘›‹".replaceAll("[^\\p{L}]", ""));