我正在努力寻找解决以下问题的方法。
我有一个大约30000个字符的XML文件,我想将其放入String变量中。在该变量中,我想使用替换功能将某些字符替换为不同的字符。
我正在使用以下代码进行尝试,但是Replace和Instr均未检测到我要查找的字符。有趣的是,当我将XML缩短到3000个字符左右时,代码就起作用了。
任何想法可能导致问题吗?字符串最多可以包含20亿个字符,所以不知道这是怎么回事...我唯一想到的是str是一个字符串,而Instr / Replace需要一个String表达式作为参数。这些函数可以处理的字符串表达式的长度是否有限制?
Dim str As String
Dim arrInvalidChars() As String
Dim arrValidChars() As String
Dim i As Integer
arrInvalidChars = Split(Expression:="ä, ü, ö, ß, é, ç", Delimiter:=", ")
arrValidChars = Split(Expression:="ae, ue, oe, ss, e, c", Delimiter:=", ")
For i = LBound(arrInvalidChars) To UBound(arrInvalidChars)
On Error Resume Next
Debug.Print InStr(1, str, arrInvalidChars(i), vbTextCompare)
str = Replace(str, arrInvalidChars(i), arrValidChars(i), , , vbTextCompare)
On Error GoTo 0
Next i