以这种方式尝试使用Regexp:
Sub foo()
Dim TXT As String
TXT = """foo, bar"" baz, test, blah"
Debug.Print TXT
Dim objRegExp As Object
Set objRegExp = CreateObject("vbscript.regexp")
With objRegExp
.Global = True '
.Pattern = "(""\w+)(,)(\s)(\w+"")"
Debug.Print .Replace(TXT, "$1$3$4")
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
它对您提供的样本值按预期工作,但可能需要通过更改.Pattern
更复杂的文本进行其他调整.
编辑如果要将此解决方案用作Excel函数而不是使用此代码:
Function RemoveCommaInQuotation(TXT As String)
Dim objRegExp As Object
Set objRegExp = CreateObject("vbscript.regexp")
With objRegExp
.Global = True
.Pattern = "(""\w+)(,)(\s)(\w+"")"
RemoveCommaInQuotation = .Replace(TXT, "$1$3$4")
End With
End Function
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
973 次 |
最近记录: |