C # - التشذيب سلسلة من أول فاصل باطل وما بعده

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

  •  05-07-2019
  •  | 
  •  

سؤال

ولدي C # السلسلة "RIP-1234-إيقاف \ 0 \ 0 \ 0 \ ب \ 0 \ 0 \ 0 ؟؟؟ |؟ B النائب \ 0 \ 0 \ 0؟" عاد من استدعاء مواطن سائق.

وكيف يمكنني تقليم جميع الشخصيات من فاصل الأول باطل '\ 0 \ فصاعدا. في هذه الحالة، أنا فقط أود أن يكون "RIP-1234-إيقاف".

وشكرا.

هل كانت مفيدة؟

المحلول

وهنا هي الطريقة التي ينبغي أن تفعل خدعة

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