我一直在尝试从字符串中删除所有零字符
我的字符串是由这些十六进制字节组成的
00 44 00 65 00 6C 00 70 00 68 00 69
对于每个字母,前面都有一个零字节(空字节)。我猜我必须使用某种 Unicode 编码或宽编码来获取没有这些零的文本。
但我无法弄清楚,所以我认为最好的方法是使用替换,但即使这样也失败了。
Dim packet() As String = {&H0, &H44, &H0, &H65, &H0, &H6C, &H0, &H70, &H0, &H68, &H0, &H69}
Dim str As String = Encoding.ASCII.GetString(packet, 0, 12)
str = str.Replace("\0", "") 'Compiles and fails
str = str.Replace(\0, "") 'No compile
str = str.Replace('\0', "") 'No compile
最佳答案
如果您想要不依赖 Microsoft.Visualbasic 命名空间的东西:
str = str.Replace(Convert.ToChar(0),"")
唯一的替代方法是使用 String.Replace 我能想到的是使用正则表达式替换: http://msdn.microsoft.com/en-us/library/844skk0h(v=vs.110).aspx
关于vb.net - 如何从字符串中删除空字符(零字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23693182/