Поширені Методи Рядків
Свайпніть щоб показати меню
Додавання (Append)
Ми вже бачили, що додати нові символи в кінець рядка за допомогою індексації неможливо. Однак для цього існує зручний метод .append().
append.h
1str.append("added part");
Конкатенація
Інший спосіб — використання оператора +. Він виконує конкатенацію, коли застосовується до рядків.
main.cpp
12345678#include <iostream> int main() { std::string str = "Code"; str = str + "finity"; // or str += "finity" std::cout << str << std::endl; }
Вона також дозволяє додавати текст на початок або з обох боків, чого .append() не може виконати.
main.cpp
12345678#include <iostream> int main() { std::string str = "finity"; str = "code" + str + ".com"; std::cout << str << std::endl; }
Вставка
Можна вставити новий текст у рядок на певну позицію за допомогою методу .insert().
insert.h
1str.insert(pos, "text to add");
Позиція, яку задає параметр pos, визначає місце додавання нового тексту.
Новий текст вставляється перед символом, який наразі знаходиться на вказаній позиції. Цей метод корисний для динамічної модифікації рядків без створення нових.
Замінити
Можна також замінити частину рядка іншим рядком. Це досягається за допомогою методу .replace().
replace.h
1str.replace(start, n, "new text");
Тут start означає індекс першого елемента для заміни, а n — довжину частини, яку потрібно замінити.
Нижче наведено gif, що демонструє роботу методу .replace().
Видалення
Можна також видалити частину рядка за допомогою методу .erase(). Це корисно, коли потрібно видалити певні символи або підрядки з рядка.
erase.h
1str.erase(start, n);
Якщо параметр n дорівнює або перевищує залишкову довжину рядка від позиції start, усі символи від start і далі буде видалено.
Параметри start і n працюють аналогічно до тих, що використовуються в методі .replace(), забезпечуючи гнучкість для зміни рядка за потреби.
main.cpp
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; }
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат