Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Поширені Методи Рядків | Текстовий Тип Даних
Practice
Projects
Quizzes & Challenges
Вікторини
Challenges
/
Типи Даних у 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?

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

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