2

在 VB.NET 2010 中

拨打string.split("³")此线路"³4002³1³1ÄTest³1ÄPhysician³"

返回一个包含 8 个字符串的数组:

"","4002","1","1","Test","1","Physician",""

据我所知"³" != "Ä"

这对我来说没有任何意义。有没有人知道为什么会发生这种情况,也许知道我怎样才能得到它给我期望的结果?

4

1 回答 1

0

在 VB.NET 上,它可能会尝试将字符串转换为既不能正确解释字符 ³ 也不能正确解释字符 Ä 的编码。它们必须被转换为公认的“默认”最佳解释值,并且这些转换后的值将根据 .Split 方法的标准返回 true。

对所有字符串强制使用 unicode 编码应该可以解决问题(包括对 .Split("³") 进行编码。对其进行编码并将其保存到拆分之前的变量中为 .Split(encodedValue)

于 2012-09-11T19:50:36.463 回答