Подтвердить что ты не робот

Преобразование слов MS и апострофов

Как преобразовать кавычки и апострофы MS Word в обычные кавычки и символы апострофов в Java? Что означает номер юникода для этих символов?

то есть., "как дела?" "Здор`ово

to

"Как дела?" 'Здор`ово'

Спасибо

Изменить: похоже, что stackoverflow уже преобразовывает его в обычные кавычки и апострофы... как я могу сделать то же самое в Java?

4b9b3361

Ответ 1

Отправляясь от Томаса, код:

return text.replaceAll("[\\u2018\\u2019]", "'")
           .replaceAll("[\\u201C\\u201D]", "\"");

Ответ 3

Спасибо Nick van Esch на С# Как заменить смарт-цитаты Microsoft на прямые кавычки?

Вот код ('\ u2019' в MS Word), он полезен, потому что он охватывает проблематичные словарные символы.

if (buffer.IndexOf('\u2013') > -1) buffer = buffer.Replace('\u2013', '-');
if (buffer.IndexOf('\u2014') > -1) buffer = buffer.Replace('\u2014', '-');
if (buffer.IndexOf('\u2015') > -1) buffer = buffer.Replace('\u2015', '-');
if (buffer.IndexOf('\u2017') > -1) buffer = buffer.Replace('\u2017', '_');
if (buffer.IndexOf('\u2018') > -1) buffer = buffer.Replace('\u2018', '\'');
if (buffer.IndexOf('\u2019') > -1) buffer = buffer.Replace('\u2019', '\'');
if (buffer.IndexOf('\u201a') > -1) buffer = buffer.Replace('\u201a', ',');
if (buffer.IndexOf('\u201b') > -1) buffer = buffer.Replace('\u201b', '\'');
if (buffer.IndexOf('\u201c') > -1) buffer = buffer.Replace('\u201c', '\"');
if (buffer.IndexOf('\u201d') > -1) buffer = buffer.Replace('\u201d', '\"');
if (buffer.IndexOf('\u201e') > -1) buffer = buffer.Replace('\u201e', '\"');
if (buffer.IndexOf('\u2026') > -1) buffer = buffer.Replace("\u2026", "...");
if (buffer.IndexOf('\u2032') > -1) buffer = buffer.Replace('\u2032', '\'');
if (buffer.IndexOf('\u2033') > -1) buffer = buffer.Replace('\u2033', '\"');