在vbs中迭代unicode
我需要将重音字母转换为常规的对应字母,即À转换为A。我计划使用一长串替换语句,如在vbs中迭代unicode,unicode,vbscript,Unicode,Vbscript,我需要将重音字母转换为常规的对应字母,即À转换为A。我计划使用一长串替换语句,如 orig_string = Replace(orig_string, "Ã", "a", 1, -1, vbTextCompare) 或者某种数组来完成同样的事情。我试图在access vb编辑器中粘贴字符列表ấấặắảạḁầẫẩậằẵẳ 但是我得到了一份工作??????????????????。也就是说,我想尝试使用类似于 Function convert_unicode(sIn As String) As
orig_string = Replace(orig_string, "Ã", "a", 1, -1, vbTextCompare)
或者某种数组来完成同样的事情。我试图在access vb编辑器中粘贴字符列表ấấặắảạḁầẫẩậằẵẳ 但是我得到了一份工作??????????????????。也就是说,我想尝试使用类似于
Function convert_unicode(sIn As String) As String
Dim r As New RegExp, a_patern As String
Dim colMatches As MatchCollection
Debug.Print sIn
**For a_patern = "\u00C0" To "\u00C5" <-pseudo code**
With r
.Pattern = a_patern
.IgnoreCase = True
.Global = True
.MultiLine = False
convert_unicode = .Replace(sIn, "A")
End With
Next a_patern
**For a_patern = "\u00C8" To "\u00CB" <-pseudo code**
With r
.Pattern = a_patern
.IgnoreCase = True
.Global = True
.MultiLine = False
convert_unicode = .Replace(sIn, "B")
End With
Next a_patern
Debug.Print convet_unicode
End Function
替换循环可能看起来有点像这样:
s = "..."
For u = &h00c0 To &h00c5
s = Replace(s, ChrW(u), "A")
Next
ChrW函数将字符代码转换为宽/Unicode字符。如果文件处于utf16模式,则使用数组应该可以。您需要将脚本文件以Unicode格式保存在记事本中。例如,您可以在“另存为”对话框底部中间的下拉列表中选择编码。如果你的编辑器不支持Unicode:找一个支持Unicode的编辑器。编译完需要替换的字符列表后,我意识到出于我的目的,这种类型的循环不起作用,因为每个字母的重音版本都分散在Unicode图表上,所以我会回去整理Unicode数组。Ansgar感谢您提供了一个答案,很抱歉我没有使用它。我对MS Access不够精通,不知道如何修改他们的IDE