Как добавить символ в строку
Перейти к содержимому

Как добавить символ в строку

  • автор:

Строки в C++

Для работы со строкам в C++ используется тип string . В разделе про потоки мы уже создавали объекты типа string и использовали их с операторами > . Рассмотрим этот тип подробнее.

Примеры создания объектов string :

string a; // пустая строка string b("abc"); // строка проинициализирована списком символов string c1(b); // c1 является копией b string c2 = b; // c2 является копией b string d('d', 10); // d = "dddddddddd" 

Строки хранят в памяти последовательность объектов char , поэтому во многих случаях со строками можно работать как с массивом. Например, обращаться к символам через индекс.

string a("abz"); char c = a[2]; // 'z' char b = a.at(1); // 'b' a[2] = 'c'; // a = "abc" 

Механизмы обращения к элементу через оператор [] и с помощью метода at() отличаются. В первом случае не происходит проверки того, что индекс меньше, чем длина строки. Если это условие не выполняется, то мы приходим к ситуации неопределенного поведения. Метод at() выполняет эту проверку и генерирует исключение в случае некорректного индекса. За это более безопасное поведение мы платим процессорным временем для дополнительной проверки.

По символам строки можно пройти в цикле:

string s("abcde"); for (char ch : s)  cout  <ch  <' '; > 

Узнать длину строки можно с помощью метода size() .

Строки можно конкатенировать с помощью оператора + или метода append :

string a("Hello, "); string b("world!"); string c = a + b; // "Hello, world!" a.append(b); // a = "Hello, world!" a += b; // a = "Hello, world!world!" 

Добавить символ в конец строки можно с помощью метода push_back() , а удалить последний символ — с помощью метода pop_back() .

В типе string реализованы некоторые алгоритмы. Например, можно осуществлять поиск по строке:

string line("There are two needles in this haystack with needles."); string query("needle"); size_t found = line.find(query); // found = 14 if (found != string::npos)  cout  <"first '"  <query  <"' found at: "  <found  <'\n'; > 

Метод find() возвращает позицию первого символа, которому соответствует совпадение. Если совпадений не найдено, возвращается специальная константа. size_t — это беззнаковый целочисленный тип.

Больше возможностей типа string можно найти в документации.

Документация

  • en.cppreference.com/w/cpp/string/basic_string
  • en.cppreference.com/w/cpp/header/cctype

Как добавить символ в строку

Может есть стандартная функция добавления в строку символов,до достижения строки определенной длины?Например есть Стр=»1000″,а надо чтоб стало Стр=»001000″.А если Стр=»10″,то стало Стр=»000010″.

простой цикл

// Функция дополняет входную строку лидирующими нулями до заланной длины
//
// Параметры
// ВхСтрока — строка источник
// ДоДлины — определяет длины выходной строки
//
// Возвращаемое значение:
// Входная строка с лидирующими нулями
//
Функция ДополнитьСтрокуЛидирующимиНулями(ВхСтрока, ДоДлины) Экспорт

Результат = ВхСтрока;
КолИтераций = ДоДлины — СтрДлина(ВхСтрока);

Если КолИтераций < 0 Тогда
Возврат Результат;
КонецЕсли;

Для к = 1 по КолИтераций Цикл
Результат = «0» + Результат;
КонецЦикла;

прав(«000000″+Стр,6)

(3) функция кривая: третьим параметром лениво было передать символ, которым догонять длину? А может я не ноликом захочу.

(4) Мда.
Прав(«00000000000000000000000000000000000000» + строка, ДоДлины) 🙂
А вообще, для таких вещей придуман Формат()

Как добавить символ в строку

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Как вставить символ в строку python?

Как вставить символ по определенному индексу в строку?

  • Вопрос задан более трёх лет назад
  • 25449 просмотров

Комментировать
Решения вопроса 2

hottabxp

Сергей Карбивничий @hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Можно использовать срезы:

a = 'bigben' print(a[:3],'.',a[3:],sep='') >>> big.ben

или так: print(f’.’)
Ответ написан более трёх лет назад
Нравится 2 1 комментарий
Сергей Ильин @sunsexsurf

вообще, задание похоже на энтерпрайзный хеллоу-ворлд. Типа, ну ок, ф-строки — норм, теперь давайте регулярками разобъем. Или как-то еще мэтчить будем ))

Makaroshka007

Тимур Покровский @Makaroshka007
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 1

*новое слово*=слово[:позиция-1]+’.’+слово[позиция:]
word = ‘bigben’
position = 3
new_word = word[:position — 1] + ‘.’ + word[position:]

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

python

  • Python
  • +1 ещё

Error Connecting: HTTPSConnectionPool(host=’url’, port=443) как решить?

  • 1 подписчик
  • 2 часа назад
  • 10 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *