Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
 Аватар для Art81
0 / 0 / 0
Регистрация: 11.12.2014
Сообщений: 14

Поиск в строке любого символа из набора

11.12.2014, 17:15. Показов 3482. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый.

Назрела необходимость определить содержит ли строка символ(ы) из кириллицы.
Есть ли какой нибудь метод, кроме сравнения (str[i]>= 'А' && str[i]<='я')?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.12.2014, 17:15
Ответы с готовыми решениями:

Подсчет в строке количество любого символа
Помогите найти ошибку( data segment buff db 064h,?,100 dup(?) count1 db 0ah,0dh,0,'$',0ah,0dh,?,?,'$';48 data ends code segment ...

В строке подсчитать количество любого введенного символа
Пожалуйста помогите дописать программу. я не могу никак ее сделать. начал работать с паскалем всего месяц назад. --- задание: В...

Поиск любого символа на любом месте строки
Доброго времени суток, уважаемые форумчане!:senor: Возник вопрос следующего характера: Необходимо добраться до символа в строке. ...

4
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
11.12.2014, 19:50
Цитата Сообщение от Art81 Посмотреть сообщение
кроме сравнения (str[i]>= 'А' && str[i]<='я')?
Это сравнение не прокатит. Символы 'А' и 'я' приведутся к из числовому обозначению и сравнятся с кодами из текущей кодовой страницей. А что там за страница - кириллица ли, арабская вязь ли - неизвестно. Хотя можно конечно еще и номер страницы проверять. Но и тут может крыться подвох - номер страницы в системе можно подменить.

В общем, если задача стоит именно проверить на кириллицу символы, то она можно сказать не выполнимая.
Если же нужно не проверять символы, а чтобы кириллица доподлинно отображалась, то следует использовать юникод и всех делов.
0
 Аватар для Art81
0 / 0 / 0
Регистрация: 11.12.2014
Сообщений: 14
11.12.2014, 20:48  [ТС]
Да тут принципиально хочется понять - как проще проверить текст на содержание определённых символов или последовательностей. Т.е. не как в моём примере или проверять str.Pos(SYMBOL) != 0 для каждого SYMBOL из набора.
Например есть ли в строке чётные числа в промежутке от 0 до 100? Или повторяющиеся символы из набора "q", "s", "f", "+".

а чтобы кириллица доподлинно отображалась, то следует использовать юникод и всех делов
В конкретном случае так и сделал.
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
11.12.2014, 20:53
А чем вам не нравится ваш
C++
1
if( str.Pos( SYMBOL ) )
?
Очень хороший вариант, ежели надо проверить существование символа в строке.

Для других целей есть другие методы. Все зависит от того, чего вы хотите в итоге.
Именно поэтому необходимо сразу и развернуто объяснять свою задумку. А не как искать кириллические символы. Они вам сто годов кириллические не сдались, правильно? Так и надо было изначально вопросить: "Как лучше всего проверить наличие произвольной комбинации символов в строке?". Понимаете?
Это просто на будущее.
0
 Аватар для Art81
0 / 0 / 0
Регистрация: 11.12.2014
Сообщений: 14
11.12.2014, 21:02  [ТС]
Или повторяющиеся символы из набора "q", "s", "f", "+".
В смысле символы из набора "q", "s", "f", "+", а не "повторяющиеся символы из набора"

Добавлено через 7 минут
Цитата Сообщение от SatanaXIII Посмотреть сообщение
А не как искать кириллические символы.
В конкретном случае искал именно кириллические символы в списке ссылок чтобы определиться надо ли ссылку подвергать обработке. ИМХО проще часть ссылки после домена проверить на наличие определённого набора символов (кириллицы) разом, а не посимвольно, поэтому и спросил.
А вообще, как мне показалось, эта задача частный случай нахождения подстроки, из определённого набора, в строку. Видимо как-то сумбурно объяснил
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.12.2014, 21:02
Помогаю со студенческими работами здесь

Поиск всех вхождений любого символа второй строки в первой (реализация strpbrk)
Заданы две строки. Поиск всех вхождений любого символа второй строки в первой. Реализовала так: section '.data' data readable writeable...

Операции в строке: поиск, замена, удаление символа в строке
Доброго здравия! В ассемблере совсем новичок, поэтому прошу помощи. Программа должна получать строку с клавиатуры, получать символ,...

Поиск символа в строке. Как осуществить поиск в обратном направлении
Всем доброго времени суток. Вопрос такой: как осуществить поиск в обратном направлении, т.е. я в строке (a(bc)) нахожу первую закрытую...

Поиск в одной строке любого из множества символов, входящих во вторую строку
Осуществить поиск в одной строке любого из множества символов, входящих во вторую строку. как это реализовать?

Поиск символа в строке
Имеется перменная str типа String. Также есть переменная letter такого же типа String. Переменная letter принимает значение...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru