C# - 从第一个空终止符开始修剪字符串

时间:2009-09-10 05:33:42

标签: c# text-parsing

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

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

感谢。

3 个答案:

答案 0 :(得分:11)

这是一个应该做的技巧

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

  return input.Substring(0,index);
}

答案 1 :(得分: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'));

答案 2 :(得分: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);