Как заменить символы звездочки (*) жирным шрифтом для обозначения важных слов и фраз?

559
big_smile

У меня есть документ из почти 20 тысяч строк. Многие (но не все) строки используют звездочки для обозначения важных слов и фраз.

Пример:

What kind of *vegetable* is it? You are *best?!* I hope I am not late. All *the "good"* shows are *no longer* broadcasting. 

Я хотел бы заменить символы звездочки html жирным шрифтом. Например, это выглядит так:

What kind of <b>vegetable</b> is it? You are <b>best?!</b>  I hope I am not late. All <b>the "good"</b> shows are <b>no longer</b> broadcasting. 

Какой лучший способ сделать это? Я не могу просто найти и заменить, потому что он не вставит соответствующий закрывающий </b>тег при необходимости.

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

Мое окружение: я использую Apple Numbers на Mac OSX. Но я счастлив установить другое приложение. У меня также есть Windows on Virtual Box, но я бы предпочел по возможности избегать ее использования.

Обновить

Еще один вопрос: если бы я хотел создать новый столбец, в котором были бы только слова в символах звездочки с префиксом слова «Подчеркнуть» и ничего больше, это было бы возможно с плагином? Если да, то как?

Пример:

  • Что это за овощ ?
    становится
    Подчеркните: растительное
  • Все «хорошие» шоу больше не вещают.
    не становится
    Подчеркните: хороший, Подчеркните: больше не будет .
1
Вы используете Windows или Linux? Excel, OpenOffice, LibreOffice, что-то еще? Пожалуйста [отредактируйте] свой вопрос. gronostaj 6 лет назад 3
@gronostaj Спасибо за обновленный совет. big_smile 6 лет назад 0

1 ответ на вопрос

2
Máté Juhász

В Excel вы можете использовать бесплатную надстройку RegEx Find Replace для выполнения замены с помощью регулярных выражений:

enter image description here

Я никак не связан с этой надстройкой, просто использую ее, так как считаю ее полезной.


Обновить

Выражение должно работать и в других инструментах с поддержкой регулярных выражений ( https://regex101.com/r/928oKB/1 ).

Если ваши записи могут содержать и другие символы, просто измените выражение «Найди что» на:
\*([^*]+)\*
оно будет захватывать все между двумя*

(вы можете проверить это здесь )

Обновить:

Да, вы также можете добавить «Подчеркнуть», однако это проще сделать с помощью вспомогательного столбца.

  • Формула для вспомогательной колонки:
    =RegExReplace(A1,"[^*]*\*([^*]+)\*[^*]*",", Emphasize: $1")
  • Формула для результата:
    =RIGHT(B1,LEN(B1)-2)

enter image description here

Будет ли эта команда regex на вашем скриншоте работать в любом редакторе Regex или только для Excel? Спасибо! big_smile 6 лет назад 0
Но он не может правильно найти диапазон, который содержит, например, знаки препинания; регулярное выражение в снимке экрана охватывает только алфавит и пробелы. tripleee 6 лет назад 1
@ MátéJuhász, это может быть проблемой для меня, так как некоторые из моих пролетов имеют пунктуацию. (Я лучше обновлю свой вопрос этим!) big_smile 6 лет назад 0
@ MátéJuhász Спасибо, у меня работает плагин, и ваше выражение работает отлично. Еще один вопрос: если бы я хотел создать новый столбец, в котором бы были только слова в символах звездочки с префиксом слова «Подчеркнуть» и ничего больше, это было бы возможно с плагином. Если это так, то как. Пример: `Какой тип * vegetable * is it? `становится` Подчеркнуть: vegetable` в новом столбце. `Все *" хорошие "* шоу * больше не * транслируются. становится` Подчеркнуть: хорошее, Подчеркнуть: больше не. Спасибо за любые помощь, которую вы можете предложить. big_smile 6 лет назад 0