#c
#c
Вопрос:
Допустим, у меня есть строковое предложение «Мой идентификатор gogo127 и мой PIN-код 1234»
Я хочу сделать это «Мой идентификатор — gogo127, а мой PIN-код — xxxx».
Я считаю, что мне нужно создать логику, в которой я проверяю, содержит слово цифру или нет, и отделяю его от превращения в gogoxxx. Есть ли способ, которым я могу это сделать? только с помощью #include<string>
и iostream
Комментарии:
1. Несколько неясно, всегда ли у вас текст «pin-код есть» прямо перед pin-кодом, который вы хотите вычеркнуть. Например, у вас может быть предложение типа «Мой pin-код 1234, а мой идентификатор gogo127»? Или «Мой идентификатор gogo127, а 1234 — это мой PIN-код»?
Ответ №1:
Если вы уверены, что длина числа всегда будет равна 4, вы можете использовать приведенное ниже.
std::string str = "My id is gogo127 and my pin number is 1234";
std::fill_n(str.rbegin(), 4, 'x');
Ответ №2:
Очень широкий вопрос, на который можно ответить «Да». Это не особенно полезный ответ для всех, кто здесь участвует, поэтому вот лучший.
Начните с конца string
и работайте в обратном направлении, заменяя каждый символ на 'X'
, пока не найдете пробел.
Обратный итератор из std::string::rbegin
здесь будет очень полезен.