كيف يمكنني تقسيم السلسلة إلى مجموعة؟
سؤال
وأريد أن تقسيم السلسلة إلى صفيف. السلسلة كما يلي:
<اقتباس فقرة>و: مرحبا: mr.zoghal:
اقتباس فقرة>وأود أن تقسيمه على النحو التالي:
<اقتباس فقرة>ومرحبا mr.zoghal
اقتباس فقرة>وحاولت ...
string[] split = string.Split(new Char[] {':'});
والآن أريد أن يكون لديك:
string something = hello ;
string something1 = mr.zoghal;
وكيف يمكنني تحقيق ذلك؟
المحلول
لطلب الأصلي:
string myString = ":hello:mr.zoghal:";
string[] split = myString.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
var somethings = split.Select(s => String.Format("something = {0};", s));
Console.WriteLine(String.Join("\n", somethings.ToArray()));
وهذا سوف ينتج
something = hello;
something = mr.zoghal;
وفقا لطلبك.
وأيضا، سطر
string[] split = string.Split(new Char[] {':'});
وليس القانوني C #. String.Split
هو أسلوب المستوى سبيل المثال في حين القانون الحالي الخاص بك إما يحاول استدعاء Split
على string
مثيل مسمى (غير قانوني بأنها "string
" هو الكلمة المحجوزة) أو تحاول استدعاء أسلوب ثابت اسمه Split
على String
فئة (هناك لا يوجد مثل هذا الأسلوب).
وتحرير: وليس من الواضح بالضبط ما كنت طالبا. ولكن أعتقد أن هذا سوف تعطيك ما تريد:
string myString = ":hello:mr.zoghal:";
string[] split = myString.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
string something = split[0];
string something1 = split[1];
والآن سيكون لديك
something == "hello"
و
something1 == "mr.zoghal"
وكلا تقييم على النحو الصحيح. هل هذا ما كنت تبحث عنه؟
نصائح أخرى
وسلسلة myString = ": مرحبا: mr.zoghal:"؛
string[] split = myString.Split(':');
string newString = string.Empty;
foreach(String s in split) {
newString += "something = " + s + "; ";
}
والإخراج سيكون: شيء = مرحبا. شيء = mr.zoghal؛
وانه من الاسهل بكثير من ذلك. وهناك بالفعل خيارا.
string mystring = ":hello:mr.zoghal:";
string[] split = mystring.Split(new char[] {':'}, StringSplitOptions.RemoveEmptyEntries);