Перейти до основного контенту

Що означає "Find first not of c"

12 хв читання
2357 переглядів

Одним з найбільш корисних методів пошуку в C ++ є функція "find first not of C". Ця функція дозволяє знайти перший елемент у діапазоні, який не є елементом, зазначеним всередині функції.

Функція "find first not of C" може бути особливо корисною, коли Вам потрібно знайти перший символ або підрядок у рядку, який не відповідає якомусь шаблону. Наприклад, якщо у вас є рядок, що складається з букв, ви можете скористатися цією функцією, щоб знайти першу цифру в цьому рядку.

Функція "find first not of C" приймає два параметри: початкову позицію в діапазоні і елемент або значення, який необхідно знайти. Вона повертає ітератор, який вказує на перший елемент, який не є шуканим значенням.

Find first not of c

Функція find_first_not_of (c) шукає перший символ у рядку, який не дорівнює символу c . Повертає позицію знайденого символу або npos, якщо такого символу не знайдено.

Повернене значенняНазва функціїПараметрОпис
size_tfind_first_not_ofconst basic_string& str = basic_string(),Виконує пошук першого символу, не рівного символу c, в рядку str .
size_t pos = 0) const;Пошук починається з позиції pos .
#include #include int main() else return 0;>

Результат виконання програми:

Первый символ, не равный o находится на позиции 1

Приклад демонструє пошук першого символу в рядку, який не дорівнює символу 'o'. Функція find_first_not_of повертає позицію символу 'e'.

Загальні відомості про функції

Функція "find_first_not_of" призначена для пошуку першого символу в заданому рядку, який не відповідає набору символів, вказаному у другому аргументі функції.

Функція приймає три аргументи: початковий рядок, набір символів і позицію, з якої потрібно почати пошук.

  • Початковий рядок-це рядок, в якому буде здійснюватися пошук.
  • Набір символів-це рядок символів, які будуть перевірятися на відповідність з кожним символом вихідного рядка.
  • Позиція-це опціональний аргумент, який вказує з якої позиції в початковому рядку починати пошук. За замовчуванням позиція дорівнює нулю.

Функція повертає позицію першого символу, який не відповідає набору символів. Якщо такий символ не знайдено, то повертається значення std::string:: npos.

Приклад використання функції:

std::string str = "Hello, world!";std::string symbols = "Helo";size_t pos = str.find_first_not_of(symbols);if (pos != std::string::npos) else

В даному прикладі функція "find_first_not_of" буде шукати перший символ в рядку " Hello, world!", який не є символом з набору "Helo".

Позиція першого невідповідного символу буде виведена на екран. Якщо всі символи вихідного рядка відповідають набору, то на екран буде виведено повідомлення "All symbols match the set".

Приклад використання Find first not of c

std::string s = "Hello, World!";

size_t pos = s.find_first_not_of(c);

У цьому прикладі ми шукаємо перший символ у рядку s, який не є символом 'o'. Результатом буде позиція символу ' e ' в рядку, яка буде дорівнює 1.

Функція може бути корисною, коли потрібно знайти перший символ у рядку, відмінний від заданого символу, наприклад, при пошуку першого небуквенного символу або першої цифри в рядку.

Важливо зазначити, що функція повертає значення типу size_t, яке є беззнаковим цілим числом, і -1 у разі відсутності символів, які не є символом c.

Алгоритм роботи функції

Алгоритм роботи функції Find first not of c () можна представити наступним чином:

  1. Ініціалізувати покажчик на початок рядка.
  2. Ініціалізувати змінну позиції символу.
  3. Перевірити, чи є символ, на який вказує покажчик, рівним символу c.
  4. Якщо символ дорівнює c, перейти до наступного символу і збільшити значення позиції символу на 1.
  5. Якщо символ не дорівнює c, повернути значення позиції символу.
  6. Якщо досягнутий кінець рядка без знаходження символу, який не дорівнює c, повернути нульове значення.

Алгоритм функції Find first not of C () виконує пошук першого символу, який не є символом c, починаючи з початку рядка і до її кінця. Функція повертає позицію знайденого символу в рядку або нульове значення, якщо такого символу не знайдено.

Параметри функції

Функція find_first_not_of (c) приймає один параметр:

  • c - символ, щодо якого буде проводитися пошук першого розбіжності в рядку.

Цей параметр може бути будь-яким символом із таблиці символів ASCII або широкого набору Unicode.

Наприклад, якщо ви хочете знайти перший символ, який не відповідає символу "a" У рядку, ви можете викликати функцію find_first_not_of('a').

Повернене значення

Повернене значення типу size_t вказує на індекс першого символу, який не відповідає символам, зазначеним в аргументі c . Якщо такий символ не знайдено, то повертається розмір рядка (string::npos ).

std::string str = "Hello, world!";std::string characters = "wo";size_t index = str.find_first_not_of(characters);if (index != std::string::npos) else

У цьому прикладі функція find_first_not_of шукатиме перший символ, який не є символом' w ' або ' o ' у рядку "Привіт, світ!". У цьому випадку це символ 'h'. Якщо такий символ знайдений, то програма виведе його на екран, інакше буде виведено повідомлення про те, що в рядку немає символів, які не є символами 'w' або 'o'.

Обмеження та особливості

Метод Find first not of c () надає функціональність для пошуку першого символу в рядку, якого немає в списку символів c. однак, варто враховувати наступні обмеження і особливості роботи даного методу:

Обмеження / особливістьОпис
Символи в рядкуМетод працює тільки з поодинокими символами в рядку. Якщо в якості аргументу передано порожній рядок або рядок із кількома символами, буде повернуто значення -1.
Чутливість до регіструМетод враховує регістр символів. Це означає, що Символи у списку c повинні точно відповідати символам у рядку. Наприклад, символ "A" і "a" вважатимуться різними символами.
Передача некоректних аргументівУ разі передачі неправильних аргументів, таких як нульовий покажчик або порожній список символів, поведінка методу не визначена.

З огляду на ці особливості, важливо бути уважними при використанні методу Find first not of C() і перевіряти коректність переданих значень для досягнення очікуваного результату.

Подібні функції в інших мовах програмування

Функція "Find first not of C" має аналоги в різних мовах програмування, які дозволяють здійснювати аналогічні операції з пошуку першого символу, відмінного від заданого символу 'c'.

У мові програмування C++ функція "find_first_not_of" використовується для пошуку першого символу рядка, який не є символом із заданого набору символів. Ця функція повертає позицію знайденого символу або -1, якщо такого символу не знайдено.

У мові програмування Python можна використовувати метод "find" для пошуку першого символу, який не збігається з символом 'c'. Цей метод повертає Індекс знайденого символу або -1, якщо символ не знайдений у рядку.

У мові програмування Java існує метод" indexOf " класу String, який дозволяє знайти Індекс першого символу, що не дорівнює символу 'c'. Якщо такого символу не знайдено, метод повертає значення -1.

Такі функції і методи надають зручний спосіб виконання операцій пошуку першого символу, що не збігається з заданим символом, в різних мовах програмування.