C #- 첫 번째 NULL 터미네이터에서 문자열 트리밍 문자열 및 이후

StackOverflow https://stackoverflow.com/questions/1403524

  •  05-07-2019
  •  | 
  •  

문제

나는 c# 문자열 "rip-1234-stop 0 0 0 0 b 0 0 0 ??? | b? mp? 0 0"이 기본 드라이버로의 호출에서 반환되었습니다.

First NULL 터미네이터 ' 0 Owender에서 모든 문자를 어떻게 다듬려면 어떻게해야합니까? 이 경우 "Rip-1234-stop"을 원합니다.

감사.

도움이 되었습니까?

해결책

다음은 트릭을 수행 해야하는 방법입니다

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);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top