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 に答える