0

我有一个 C# 字符串 "RIP-1234-STOP\0\0\0\b\0\0\0???|B?Mp?\0\0\0" 从对本机驱动程序的调用返回。

如何从第一个空终止符 '\0\ 开始修剪所有字符。在这种情况下,我只想拥有“RIP-1234-STOP”。

谢谢。

4

3 回答 3

12

这是一种可以解决问题的方法

string TrimFromZero(string input)
{
  int index= input.IndexOf('\0');
  if(index < 0)
    return input;

  return input.Substring(0,index);
}
于 2009-09-10T05:41:04.543 回答
3

尝试这个:

var input = "RIP-1234-STOP\0\0\0\b\0\0\0???|B?Mp?\0\0\0";
var firstNull = input.IndexOf('\0');
var output = input.Substring(0, firstNull);

或者简单地说:

var output = input.Substring(0, input.IndexOf('\0'));
于 2009-09-10T05:37:12.873 回答
0

这也有效:

var input = "RIP-1234-STOP\0\0\0\b\0\0\0???|B?Mp?\0\0\0";
var split = input.Split('\0');
var output = split[0];
Assert.AreEqual("RIP-1234-STOP", output);
于 2009-09-10T05:40:34.077 回答