在VB.NET 2010中
在此行string.split("³")
"³4002³1³1ÄTest³1ÄPhysician³"
返回一个包含8个字符串的数组:
"","4002","1","1","Test","1","Physician",""
据我所知"³" != "Ä"
这对我没有任何意义。有没有人对于为什么会发生这种情况有任何见解,也许我知道如何让它给我一些我期望的结果?
答案 0 :(得分:0)
在VB.NET上,它可能正在尝试将字符串转换为编码,其中字符³和字符Ä都不能正确解释。必须将它们转换为已识别的“默认”最佳解释值,并且这些转换后的值将根据.Split方法的条件返回true。
强制所有字符串上的unicode编码应解决问题(包括编码.Split(“³”)。对其进行编码并将其保存到变量之前,将其拆分为.Split(encodedValue)