【发布时间】:2009-09-10 05:33:42
【问题描述】:
我有一个从本地调用返回的 C# 字符串“RIP-1234-STOP\0\0\0\b\0\0\0???|B?Mp?\0\0\0”司机。
如何从第一个空终止符 '\0\ 开始修剪所有字符。在这种情况下,我只想拥有“RIP-1234-STOP”。
谢谢。
【问题讨论】:
标签: c# text-parsing
我有一个从本地调用返回的 C# 字符串“RIP-1234-STOP\0\0\0\b\0\0\0???|B?Mp?\0\0\0”司机。
如何从第一个空终止符 '\0\ 开始修剪所有字符。在这种情况下,我只想拥有“RIP-1234-STOP”。
谢谢。
【问题讨论】:
标签: c# text-parsing
这是一个可以解决问题的方法
string TrimFromZero(string input)
{
int index= input.IndexOf('\0');
if(index < 0)
return input;
return input.Substring(0,index);
}
【讨论】:
试试这个:
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'));
【讨论】:
这也有效:
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);
【讨论】: