我有一份近 20K 行的文档。许多行(但不是全部)都使用星号来表示重要的单词和短语。
例子:
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>
在需要时插入适当的结束标记。
我的文档目前在电子表格中,但我可以将其导入为任何其他格式,只要它可以返回到电子表格。
我的环境:我在 Mac OSX 上使用 Apple Numbers。但我很乐意安装另一个应用程序。我在 Virtual Box 上也有 Windows,但如果可能的话,我宁愿避免使用它。
更新
还有一个问题:如果我想创建一个新列,其中只包含以“Emphasize”为前缀的星号单词,而没有其他内容,可以使用插件来实现吗?如果可以,怎么做?
例子:
- 什么样的蔬菜是吗?
变成
强调:蔬菜 - 全部“好”节目不再广播。
变成
强调:好的,强调:不再。
答案1
在 Excel 中,您可以免费使用RegEx 查找替换插件使用正则表达式执行替换:
我与该插件没有任何关系,只是因为觉得它有用才使用它。
更新
该表达式也适用于具有正则表达式支持的其他工具(https://regex101.com/r/928oKB/1)
如果您的条目也可能包含其他字符,则只需将“查找内容”表达式更改为:
\*([^*]+)\*
它将捕获两者之间的所有内容*
(你可以测试一下这里)
更新:
是的,您也可以添加“强调”,但是使用辅助列会更容易。
- 辅助列的公式:
=RegExReplace(A1,"[^*]*\*([^*]+)\*[^*]*",", Emphasize: $1")
- 结果公式:
=RIGHT(B1,LEN(B1)-2)