C # - Couper la chaîne à partir du premier terminateur null
-
05-07-2019 - |
Question
J'ai une chaîne C # "RIP-1234-STOP \ 0 \ 0 \ 0 \ b \ 0 \ 0 \ 0 ??? | B? Mp? \ 0 \ 0 \ 0" est revenu d'un appel à un pilote natif.
Comment puis-je supprimer tous les caractères à partir du premier terminateur nul '\ 0 \. Dans ce cas, j'aimerais simplement avoir le "RIP-1234-STOP".
Merci.
La solution
Voici une méthode qui devrait faire l'affaire
string TrimFromZero(string input)
{
int index= input.IndexOf('\0');
if(index < 0)
return input;
return input.Substring(0,index);
}
Autres conseils
Essayez ceci:
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);
ou simplement:
var output = input.Substring(0, input.IndexOf('\0'));
Cela fonctionne aussi:
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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow