Frage

Ich habe einen C # string "RIP-1234-STOPP \ 0 \ 0 \ 0 \ b \ 0 \ 0 \ 0 ??? |? B Mp \ 0 \ 0 \ 0?" Von einem Aufruf zu einer nativen zurück Treiber.

Wie kann ich alle Zeichen vom ersten Nullabschluss trimmen ‚\ 0 \ ab. In diesem Fall würde Ich mag nur "RIP-1234-STOP" haben.

Danke.

War es hilfreich?

Lösung

Hier ist eine Methode, die den Trick tun sollte

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

  return input.Substring(0,index);
}

Andere Tipps

Versuchen Sie folgendes:

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

oder einfach:

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

Das funktioniert auch:

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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top