سؤال

وكيف تقسيم سلسلة؟

ودعونا نقول لدي سلسلة "الكلب، القط، والماوس، الطيور"

وهدفي الحقيقي هو لإدراج كل من هذه الحيوانات في مربع القائمة، بحيث سيصبح العناصر في مربع القائمة.

ولكن أعتقد أنني الحصول على فكرة عن كيفية إدراج هذه البنود اذا كنت تعرف كيفية تقسيم السلسلة. أو لا أحد يعرف طريقة أفضل للقيام بذلك؟

والتراسل الفوري باستخدام آسيا والمحيط الهادئ ج #

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

المحلول

    string[] tokens = text.Split(',');

    for (int i = 0; i < tokens.Length; i++)
    {
          yourListBox.Add(new ListItem(token[i], token[i]));
    }

نصائح أخرى

هل حاولت String.Split ؟ قد تحتاج بعض مرحلة ما بعد المعالجة لإزالة المسافات إذا كنت تريد "أ، ب، ج" في نهاية المطاف ك { "أ"، "ب"، "ج"} ولكن "من أساسها، ج" في نهاية المطاف ك { "أ ب "،" ج "}.

وعلى سبيل المثال:

private readonly char[] Delimiters = new char[]{','};

private static string[] SplitAndTrim(string input)
{
    string[] tokens = input.Split(Delimiters,
                                  StringSplitOptions.RemoveEmptyEntries);

    // Remove leading and trailing whitespace
    for (int i=0; i < tokens.Length; i++)
    {
        tokens[i] = tokens[i].Trim();
    }
    return tokens;
}

وغني نسخة ينق؛

from s in str.Split(',')
where !String.IsNullOrEmpty(s.Trim())
select s.Trim();

وأو ببساطة:

targetListBox.Items.AddRange(inputString.Split(','));

وأو هذا لضمان يتم قطع السلاسل:

targetListBox.Items.AddRange((from each in inputString.Split(',')
    select each.Trim()).ToArray<string>());

وعذرا! كما تشير تعليقات خارج، وغاب أنه ASP.NET، لذلك لا يمكن التهيئة من مجموعة سلسلة - الحاجة إلى القيام بذلك مثل هذا:

var items = (from each in inputString.Split(',')
    select each.Trim()).ToArray<string>();

foreach (var currentItem in items)
{
    targetListBox.Items.Add(new ListItem(currentItem));
}

فهو يوفر لك مجموعة وسلسلة من strVar.Split

"dog, cat, mouse,bird".Split(new[] { ',' });
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top