Маскирование значения на основе имени с использованием регулярного выражения в строке JSON - PullRequest
0 голосов
/ 15 мая 2019

Строка JSON будет выглядеть следующим образом:

{"data": [{

                "id": "BankDetails.FirstName",
                "value": "abcd",
                "type": "Text"

                },
                                {
                "id": "BankDetails.AccountNumber",
                "value": "12345678",
                "type": "Text"
                },
                {
                "id": "BankDetails.SortCode",
                "value": "123",
                "type": "Text"

                }]
                }

«Значение»: «12345678» под «id»: «BankDetails.AccountNumber» следует заменить на «значение»: «********».Как мы можем написать шаблон регулярных выражений для этого?Таким образом, точный результат будет

{"data": [{

                "id": "BankDetails.FirstName",
                "value": "abcd",
                "type": "Text"

                },
                                {
                "id": "BankDetails.AccountNumber",
                "value": "********",
                "type": "Text"
                },
                {
                "id": "BankDetails.SortCode",
                "value": "123",
                "type": "Text"

                }]
                }

Примечание : BankDetails.AccountNumber не всегда будет третьим объектом.

1 Ответ

1 голос
/ 15 мая 2019

Вы можете использовать положительный взгляд переменной ширины сзади (поддерживается в C #), чтобы нацелить каждую цифру и заменить ее на *, используя это регулярное выражение,

(?<="id": "BankDetails.AccountNumber",\s*"value": "\d*)\d

Regex Demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...