Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Поширені методи рядків | Текстовий тип даних
Типи Даних C++

bookПоширені методи рядків

Свайпніть щоб показати меню

Додавання (Append)

Ми вже бачили, що додати нові символи в кінець рядка за допомогою індексації неможливо. Однак для цього існує зручний метод .append().

append.h

append.h

copy
1
str.append("added part");

Конкатенація

Інший спосіб зробити це — використати оператор +. Він виконує конкатенацію, коли застосовується до рядків.

main.cpp

main.cpp

copy
12345678
#include <iostream> int main() { std::string str = "Code"; str = str + "finity"; // or str += "finity" std::cout << str << std::endl; }

Також дозволяє додавати текст на початок або з обох сторін, чого не може .append().

main.cpp

main.cpp

copy
12345678
#include <iostream> int main() { std::string str = "finity"; str = "code" + str + ".com"; std::cout << str << std::endl; }

Вставка

Можна вставити новий текст у рядок на певну позицію за допомогою методу .insert().

insert.h

insert.h

copy
1
str.insert(pos, "text to add");

Позиція, яку задає параметр pos, визначає, куди буде додано новий текст.

Новий текст вставляється перед символом, який наразі знаходиться на вказаній позиції. Цей метод корисний для динамічної модифікації рядків без створення нових.

Замінити

Можна також замінити частину рядка іншим рядком. Це можливо за допомогою методу .replace().

replace.h

replace.h

copy
1
str.replace(start, n, "new text");

Тут start означає індекс першого елемента для заміни, а n — довжину частини, яку потрібно замінити.

Нижче наведено gif, який демонструє, як працює .replace().

Видалення

Можна також видалити частину рядка за допомогою методу .erase(). Це корисно, коли потрібно видалити певні символи або підрядки з рядка.

erase.h

erase.h

copy
1
str.erase(start, n);

Якщо параметр n дорівнює або перевищує залишкову довжину рядка від start, усі символи від start і далі буде видалено.

Параметри start та n працюють подібно до тих, що використовуються у методі .replace(), забезпечуючи гнучкість для зміни рядка за потреби.

main.cpp

main.cpp

copy
123456789101112131415161718192021
#include <iostream> int main() { std::string str = "finity"; str.append(".com"); // finity to finity.com std::cout << str << std::endl; str = "in" + str; // finity.com to infinity.com std::cout << str << std::endl; str.insert(2, "de"); // infinity.com to indefinity.com std::cout << str << std::endl; str.replace(0, 2, "co"); // indefinity.com to codefinity.com std::cout << str << std::endl; str.erase(10, 4); // codefinity.com to codefinity std::cout << str << std::endl; }
question mark

Який код додає текст Hello на початок рядка str?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 4

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 3. Розділ 4
some-alt