Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2013, 15:32   #1
Блоер
 
Регистрация: 08.08.2013
Сообщений: 3
По умолчанию Поиск в строке.

Всем доброго времени суток,сегодня уже 3 день как я ищу ответ на этот вопрос,перерыл поисковики и этот форум,но ответа так и не нашел.Ответы были, но мне они не подходили, или были слишком сложными для меня т.к. я начинающий в этом деле(даже слишком громко сказано).А вот и сам вопрос: как осуществить поиск в строке слова и осуществить запись в переменную результат поиска,если слово есть,то в переменную записывается 1,если нет,то 2.Прошу Вас помочь мне в этом вопросе и расписать все просто и понятно.
Блоер вне форума Ответить с цитированием
Старый 08.08.2013, 16:16   #2
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

Код:
string a = "В этой строке ищем";
string b = "Эту строку ищем";
int result = 2; //сюда пишем результат
if (a.Contains(b))
    result = 1;
mMAg вне форума Ответить с цитированием
Старый 08.08.2013, 16:42   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

mMag, я бы так записал
Код:
 int result = a.Contains(b) ? 1 : 2;

но это лирика..
Дело в том, что, имхо, предложенный код не является решением задачи TC. Для того, чтобы понять, что такое:
Цитата:
осуществить поиск в строке слова
нужно определиться, что автор называет словом.
Вот, например, в строке Автомобиль едет по дороге есть слово рог?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.08.2013, 17:04   #4
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

Serge_Bliznykov, благодарю за уточнение, ниже приведу другой код. Я бы тоже, как Вы, записал, но ТС просил понятнее, но не короче

Код:
string a = "В этой строке ищем";
string b = "Слова"; //Это слово ищем
char[] separators = { ',', ' ', ';'}; //создаём массив символов, служащих разделителями слова
string[] words = a.Split(separators, StringSplitOptions.RemoveEmptyEntries);
int result = 2; //сюда пишем результат
foreach(string word in words)
{
   if (b.Equals(word))
      {
           result = 1;
           break;
      }
}
Документашка на функцию Split с применёнными параметрами.
mMAg вне форума Ответить с цитированием
Старый 08.08.2013, 21:32   #5
Блоер
 
Регистрация: 08.08.2013
Сообщений: 3
По умолчанию

Нужно найти именно слово в предложении.Например: Шел кот по лесу,нужно найти слово кот.
Блоер вне форума Ответить с цитированием
Старый 08.08.2013, 21:50   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Блоер
Нужно найти именно слово в предложении
Блоер, смотри пост #4. там решение вашей задачи.

hint. в коде mMAg словом считается любой набор символов, разделённый зяпятой или пробелом или точкой с запятой (см. separators = { ',', ' ', ';'})
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.08.2013, 22:38   #7
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

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

З.Ы. Если в искомом слове будет хоть один разделитель, тогда слово никогда не будет найдено в предложени.
mMAg вне форума Ответить с цитированием
Старый 09.08.2013, 20:13   #8
Блоер
 
Регистрация: 08.08.2013
Сообщений: 3
По умолчанию

Всем спасибо за ответы,разобрался
Блоер вне форума Ответить с цитированием
Старый 19.08.2013, 22:44   #9
L6go1as
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 433
По умолчанию

А как на выходе получить искомое слово ?

Чет ломаю голову и пока ни как не могу докумекать, направьте уважаемые.
L6go1as вне форума Ответить с цитированием
Старый 19.08.2013, 23:09   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от L6go1as Посмотреть сообщение
А как на выходе получить искомое слово ?

Чет ломаю голову и пока ни как не могу докумекать, направьте уважаемые.
погодите-ка.. а что Вы именно Вы хотите получить на выходе?!!
если result == 1 тогда искомое слово есть и оно равно b
иначе искомого слова в строке нет!

если же Вам нужно получить НОМЕРА слов в предложении, которые соответствуют искомому b, тогда
банально напишите цикл for по всем элементам массива words, те элементы массива, которые совпадут с искомым и есть результат!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск по строке Falcao Паскаль, Turbo Pascal, PascalABC.NET 0 17.01.2013 16:36
Поиск по строке kettanaito Общие вопросы Delphi 11 01.10.2011 15:29
Поиск в строке. Xcopy Общие вопросы Delphi 1 12.10.2009 00:31
Поиск с строке nusik Общие вопросы Delphi 3 29.07.2009 14:15
Поиск в строке xspider Общие вопросы C/C++ 5 04.02.2009 21:46