Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 VB.NET 2010 中
拨打string.split("³")此线路"³4002³1³1ÄTest³1ÄPhysician³"
string.split("³")
"³4002³1³1ÄTest³1ÄPhysician³"
返回一个包含 8 个字符串的数组:
"","4002","1","1","Test","1","Physician",""
据我所知"³" != "Ä"
"³" != "Ä"
这对我来说没有任何意义。有没有人知道为什么会发生这种情况,也许知道我怎样才能得到它给我期望的结果?
在 VB.NET 上,它可能会尝试将字符串转换为既不能正确解释字符 ³ 也不能正确解释字符 Ä 的编码。它们必须被转换为公认的“默认”最佳解释值,并且这些转换后的值将根据 .Split 方法的标准返回 true。
对所有字符串强制使用 unicode 编码应该可以解决问题(包括对 .Split("³") 进行编码。对其进行编码并将其保存到拆分之前的变量中为 .Split(encodedValue)