micutzu Ответов: 2

Cstring C++ поиск и замена


Привет,

У меня есть проект C++ (Microsoft Visual C++ 2008), который был разработан много лет назад моим коллегой, и мне нужно что-то обновить.

У меня есть CString, который содержит json, и мне нужно найти и заменить каждую комбинацию из 4 последовательных чисел, которая присутствует с ****.

Пример строки

1234567 12 34 78 iioi78ccc8888 aaassd dededeed ed

Полученная строка

****567 12 34 78 iioi78ccc**** aaassd dededeed ed

Можете ли вы предложить функцию, которая может эффективно делать это, которая полностью совместима с Microsoft Visual C++ 2008?

Спасибо.

Что я уже пробовал:

Мой подход состоял бы в том, чтобы использовать регулярное выражение для поиска списка из 4 последовательных цифр и их замены, но поддержка Microsoft Visual C++ 2008 ограничена – как я читал.

Richard MacCutchan

"поддержка Microsoft Visual C++ 2008 ограничена"
В чем же ограниченность?

micutzu

<регулярное выражение>
Visual Studio 2010

2 Ответов

Рейтинг:
2

micutzu

<регулярное выражение>
Visual Studio 2010

Рейтинг:
16

CPallini

С таким же успехом вы можете написать простую функцию для этого (всего один проход по буферу с минимальным автоматом состояний).


micutzu

Правильно - но как найти (без регулярных выражений) комбинацию из 4 последовательных чисел - например, 8989 с помощью функций Cstring - так как Visual Studio 2008 "jsut" 10 лет :)

CPallini

циклический переход по буферу, принимая во внимание "индекс последней цифры".