2

Мне нужно очистить некоторые таблицы в Word, где точки с запятой и текст после них избыточны, например

text1 ; text 2

где выше - содержимое одной ячейки, и мне нужно удалить точку с запятой и все после нее до конца ячейки ; к сожалению, текст 2 не имеет определенного шаблона.

Я пытаюсь сделать это с помощью встроенного в Word поиска и замены с помощью регулярных выражений.

Поскольку желаемым концом моего регулярного выражения является конец ячейки, я не могу сопоставить его, я пробовал несколько комбинаций любого символа ;?* ;* ;?@ но все останавливается на самом коротком совпадающем тексте, есть ли способ сделать так, чтобы он совпадал до конца ячейки?

3 ответа3

3

Кажется, это работает:

;[!¤]{1,}

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

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

0

Мне нужно удалить точку с запятой и все после нее

Используйте следующее регулярное выражение:

;?{1,9999}^13
  • {n,m} соответствует от n до m вхождений предыдущего символа или выражения
  • ^13 соответствует разрыву абзаца

Источник Найти и заменить текст с помощью регулярных выражений (Дополнительно)

0

Скопируйте свой стол куда-нибудь еще; преобразовать его в текст (Layout / Convert to text) и выбрать Paragraph delimiter .

Продолжите замену ;*^13 на ^9 , отметив Use wildcards . Вырежьте этот блок текста.

Выделите весь текст в исходной таблице и вставьте «только текст».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .