Вставить - после каждого второго символа - PullRequest
0 голосов
/ 16 мая 2018

, поэтому я разрабатываю игру с Unity 3D с использованием C #.В качестве первого шага пользователь должен ввести свой персональный код, который состоит из 5 пар, где каждая пара имеет 2 символа / цифры (я проверяю символы и цифры отдельно).Теперь я пытаюсь добиться того, чтобы после каждого второго символа при вводе номера вашей кредитной карты появлялся минус, как у вас после каждого 4-го числа.

Пример: 27-05-AB-CD-EF

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

Regex.Replace(codeText, "([A-Za-z0-9][^-]){2}", "$0-");

Есть предположения, что может быть не так?

1 Ответ

0 голосов
/ 16 мая 2018

Попробуйте с этим выражением "([A-Za-z0-9]){2}(?!-)", где (?!-) - это отрицательное утверждение с нулевой шириной, которое в случае, если вы не знаете, является выражением, которое сопоставляется, но не является частью значения соответствия. Таким образом, это выражение соответствует двум символам, за которыми не следует -.
https://www.regular -expressions.info / lookaround.html прочтите эту страницу для получения дополнительной информации

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