Я пытаюсь уменьшить некоторую сложность онлайн-текста, удаляя не латинские символы + [!?., ]
. Большинство персонажей может быть удалено без проблем, но для некоторых из них я хочу конкретные правила:Замена цитат на предложения
пара (
и )
, пара "
(кавычек) или пара *
должна преобразовать любой текст внутри них предложение, если оно содержит более двух слов. Преобразуясь в предложение, я просто хочу добавить полную остановку в конце. Например:
but *after* I came up with it, I searched and...
к
but after I came up with it, I searched and...
Здесь я просто хочу, чтобы *
удалены, в отличие от:
*buys airplane ticket* IM COMING FOR YOU
в
buys airplane ticket. IM COMING FOR YOU
Таким образом, в первом примере , автор simp В то же время автор подчеркивает слово, которое является частью этого предложения, во втором примере автор описывает действие, которое также может быть предложением самостоятельно. Это работает аналогично кавычкам, где одно слово обычно является своего рода акцентом или сарказмом, в то время как множественными являются цитаты.
Есть ли способ сделать это в regex (Java)?
EDIT: Таким образом, мой общий подход требует 2 шаблонов для каждого случая: паратезис, кавычки и *. Первый шаг - обработать многословные слова, выполнив замену на \*((\w+)+\w+)\*
на $1.
, а затем заменив все *
на ничего. Это работает, но для этого мне нужно 6 запросов для регулярных выражений. Есть ли способ лучше?
Ваши примеры как замена всех ' * 's. – Mena
Нет, второй пример заменяет пару \ * с полной остановкой в позиции последнего '*' – Limon
Простой ответ: Да. Разделение ваших исследований помогает каждому. Расскажите, что вы пробовали и почему это не соответствовало вашим потребностям. Это демонстрирует, что вы потратили время, чтобы попытаться помочь себе, это избавляет нас от повторения очевидных ответов и, прежде всего, помогает вам получить более конкретный и релевантный ответ! Также см. [Ask]. Помните, что ** SO не является бесплатным кодом! ** –