Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/63: Рейтинг темы: голосов - 63, средняя оценка - 4.60
4 / 4 / 0
Регистрация: 11.08.2010
Сообщений: 28

Подскажите аналог string.Contains() для массива символов

17.01.2011, 21:19. Показов 12987. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер всем! Подскажите функцию, или несколько которая бы быстро:

Проверяла содержится ли в строке заданный набор символов(русские).
string.Contains() принимает только один символ.

Мне нужно обработать очень большое количество строк, поэтому использовать string.Contains() в цикле недопустимо, ну или на самый крайний случай.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.01.2011, 21:19
Ответы с готовыми решениями:

Аналог метода String.Contains для массива строк
Требуется проверить и вернуть True, если элемент i массива 1 содержится в массиве 2. Ничего не получается, мой код: ...

Аналог AnsiIndexStr для обычного массива string
В своё время узнал об очень удобной функции AnsiIndexStr, и стал её использовать, например так: case AnsiIndexStr(XmlNode.NodeName, ) of ...

Подскажите плз аналог php функции print_r, или как преобразовать массив в string?
Может кто сталкивался...

9
80 / 73 / 25
Регистрация: 26.10.2010
Сообщений: 231
17.01.2011, 21:40
может это поможет?

string.IndexOf(string value)

вернет значение отличное от 0, если совпадение найдено.
1
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 17
17.01.2011, 22:04
чтобы сравнить все строки без учета регистра символов.
System.String.Compare("book", "Book", true)
0
4 / 4 / 0
Регистрация: 11.08.2010
Сообщений: 28
17.01.2011, 23:50  [ТС]
Нет, не совсем то.
Мне нужно чтобы функция проверяла содержится ли в строке один или несколько из массива символов. То что и string.Contains() или string.IndexOf(string value), но для массива.
0
 Аватар для sigmov
585 / 372 / 63
Регистрация: 22.07.2009
Сообщений: 875
Записей в блоге: 4
18.01.2011, 01:04
1. Переводите строку в массив символов и сортируете
2. Сортируете список искомых символов
3. Применяете методику двоичного поиска с сужением диапазона
0
146 / 130 / 27
Регистрация: 20.12.2010
Сообщений: 242
18.01.2011, 15:10
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Text.RegularExpressions;
 
namespace rus_sym_in_str
{
   class Program
   {
      static void Main(string[] args)
      {
         string str = "bla bla bla рус идф bla";
         Regex rx = new Regex("[а-яА-ЯёЁ]");
         Match m = rx.Match(str);
         if (m.Success)
            Console.WriteLine("русские буквы есть");
         else
            Console.WriteLine("русских букв нет");
         Console.ReadKey();
      }
   }
}
1
4 / 4 / 0
Регистрация: 11.08.2010
Сообщений: 28
18.01.2011, 19:43  [ТС]
d3nver, спасибо огромное! Тоже думала о регулярках, но у меня с ними сложность

Нашла функцию string.IndexOfAny(char[]).

Реализую оба варианта, там будет видно где быстрее.
0
80 / 73 / 25
Регистрация: 26.10.2010
Сообщений: 231
18.01.2011, 22:18
miachka

использование регулярного выражения в данном случае не целесообразно, у него назначение другое.
избыточность кода велика, да и пиццу развозить фурой как то не очень решение.

поставленная заадча это работа со строками, у который уже есть как правило методы, которые позволят справиться с задачей.
0
19 / 8 / 7
Регистрация: 26.12.2013
Сообщений: 167
18.05.2015, 13:49
Я использовал нехитрый способ: сначала свел все к нижнему регистру
C#
1
string.ToLower()
, а уже потом сравнивал
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
18.05.2015, 14:07
depravity, тогда уж лучше просто проверить так (и быстрее):
C#
1
2
3
string str = "bla bla bla рус идф bla";
bool hasRu = str.Any(c => c >= 'а' && c <= 'я' || c >= 'А' && c <= 'Я' || c == 'ё' || c == 'Ё');
Console.WriteLine(hasRu ? "русские буквы есть" : "русских букв нет");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.05.2015, 14:07
Помогаю со студенческими работами здесь

Аналог String::append() для QString
Будьте любезны, подскажите как сделать так же только с QString: std::string str; str.append(7, 42); std::cout &lt;&lt;...

Аналог trim() для std::string
Не подскажите аналог trim() для std::string в std? Нужно убрать лишние пробелы с начала и конца строки.

Аналог функции copy из делфи для string в С++
Предположим у нас есть 2 переменные типа string. Как из 1й скопировать часть в другую? К примеру в делфи это так: var ...

Аналог метода Split для std::string
Как можно раздилить string? вот например строчка из сишарп string s = &quot;class Klass&quot;; string sarr = s.Split(' '); есть...

Есть ли аналог isalpha, только для string
Добрый вечер! Как проверить, что введены только буквы, без символов, isalpha не прокатило:curtsy: , тока для символов ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru