【发布时间】:2017-10-24 07:09:44
【问题描述】:
我有一个 CSV 文件,我正试图从中删除 HTML 标记,并且所有行都返回。
使用<*> 进行查找/替换会返回“此公式有问题”错误。
尝试\<*> 得到错误“我们找不到要替换的东西。”
尝试这个 VBA 也无济于事 - 它运行成功,但所有标签仍然存在:
Sub t()
With Range("A1:AE60165")
.Replace Chr(10), " "
.Replace Chr(13), " "
.Replace vbCr, " "
.Replace vbLf, " "
.Replace vbCrLf, " "
.Replace "<*>", ""
End With
End Sub
该宏还不删除任何换行符或回车符。同样用Char!10) 或Char(13) 进行查找/替换也不会做任何事情。
我尝试的最后一件事是Worksheetfunction.Clean(Range("A1")),它也没有任何作用。 但是如果在A2,我使用=CLEAN(A1),它会成功删除换行符。我不能在所有单元格上都这样做,因为数据集非常大。
我什至无法从所有单元格中成功删除@。我刚刚运行它,它删除了 23 个实例,但即使是我选择的单元格也有一个 @ 但没有删除。
我怀疑这与 CSV 有关,因为我不知道它为什么如此复杂。数据量很大,因此函数可能不是最佳选择。
可能是一些 Unicode 类型问题?
编辑:FWIW,我正在使用 profiles.csv 找到 here,因为我学习 Python 只是为了玩。 Here's a pastebin 链接到少量数据,但我不确定它在该网站上的“翻译”效果如何。
【问题讨论】:
-
您是否尝试将其作为正则表达式进行搜索。 <.> 应该获取正则表达式上下文中的所有 html 标签
-
@GerriePretorius - 我不太擅长正则表达式。我会搜索什么?我只是想删除所有换行符/回车符和任何 HTML 标签,即
<a href ...>、<br>、</br>等。 -
<.> 这个正则表达式的含义如下: 以这个结尾所以只要确保你也有这个点
-
如果您安装了 regexcoach,您可以在其中放入一些演示文本,它会突出显示与您的正则表达式匹配的文本,因此您可以查看它是否按照您的预期进行。
-
@GerriePretorius - 我尝试了
<.*>仍然没有,我得到“我们找不到任何可以替换的东西......”
标签: regex excel csv parsing vba