2011-12-19 5 views
0

Есть ли встроенные библиотеки в C# для извлечения слов Из строки, разделенной запятыми, без использования массива. Я. Я знаю расщепленной функции, но если я прав, мы должны использовать массив для него ... я не хочу использовать массив ...Извлечение слов Из строки, разделенной запятой, без использования массива

+0

экстракт и затем что-то делать? –

+3

Как вы их хотите сохранить? –

+0

, а затем перейти к другой функции ..... – Jay

ответ

-1

Вы можете использовать метод String.Split()

var myString = "Hello, World, I, am, a, comma, separated, string" 
foreach (var item in myString.Split(new Char [] {',')) { 
    // ... 
} 
+1

Для этого потребуется массив. –

+0

Кроме того, метод Split не принимает строку, а массив символов. –

+1

@NeilKnight Я не думаю, что в этом случае OP заботится о внутренних языках. Я предполагаю, что он просто не хочет явно хранить строки в массиве. Но, может быть, я ошибаюсь, спасибо за нисходящее голосование. –

0

Учитывая ваш комментарий на собственном посту, я полагаю, это то, что вы хотите:

String myString = "this,is,a,string"; 
String separator = ","; 
MethodName(myString.Split(separator.ToCharArray())); 

... 
public void MethodName(String[] words) { 
    // do stuff here 
} 

Если нет, уточнить ваш вопрос.


EDIT

Пожалуйста, пожалуйста, только более ясно с вашим вопросом. Что вы хотите проверить? Если слово соответствует определенному шаблону? Если слово существует вообще?

0

Вы можете сделать очень неприятный цикл for, где вы ищите значения ,, а затем сравниваете с даты начала 1 ,. Вы можете использовать SubString() и IndexOf(), чтобы добиться этого, но это не очень показательно и элегантно.

+0

Я кое-что хочу, но могу предложить более оптимизированный способ сделать это – Jay

+1

Честно говоря, я бы сказал, что массив оптимизирован. –

0

Как насчет пробовать под другим углом.

Вы можете прокрутить свои слова, чтобы сравнить и проверить, существуют ли они в заданной строке, например.

string listOfWords = "Some, text, to, look, through"; 

if (WordExists(listOfWords, "look")) 
{ 

} 

private bool WordExists(string listToCheck, string wordToFind) 
{ 
    return listToCheck.Contains(wordToFind); 
}