Question

I have a C# string "RIP-1234-STOP\0\0\0\b\0\0\0???|B?Mp?\0\0\0" returned from a call to a native driver.

How can I trim all characters from first null terminator '\0\ onwards. In this case, I just would like to have "RIP-1234-STOP".

Thanks.

Was it helpful?

Solution

Here is a method that should do the trick

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

  return input.Substring(0,index);
}

OTHER TIPS

Try this:

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);

or simply:

var output = input.Substring(0, input.IndexOf('\0'));

This works too:

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);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top