我有一个从我们网站导出的 Excel 文件,其中包含引号 ",需要将其替换为 html 实体:
"
这个:
Dimensions are 7" wide by 5" tall.
需要看起来像:
Dimensions are 7" wide by 5" tall
一个简单的 Excel 查找和替换就可以解决问题,但我们也有需要保留的合法引号,因为它们嵌入在 html 链接中,如下所示:
<a href="http://www.daylightcolor.com/csl/index.php?c=11" target="_blank">
如何在不触及 a href 标签内任何引号的情况下查找并替换常规引号?
最佳答案
使用 "(?![^<]*>)
尝试此方法正则表达式将替换后面不跟 >
的双引号:
Sub CallReplMultiple()
Dim ptrn As String, txt As String
Dim regExp As Object
ptrn = """(?![^<]*>)"
Set regExp = CreateObject("VBScript.RegExp")
With regExp
.Global = True
.Pattern = ptrn
End With
For i = 1 To ActiveSheet.UsedRange.Rows.Count
For j = 1 To ActiveSheet.UsedRange.Columns.Count
ActiveSheet.Cells(i, j) = regExp.Replace(ActiveSheet.Cells(i, j).Value, """)
Next j
Next i
End Sub
关于html - Excel 将(引号)“转换为 "e; 而不搞乱 html 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32280684/