Регулярное выражение - заменяет определенную строку диапазоном чисел, следующих за - PullRequest
0 голосов
/ 17 июня 2020

Хорошо. Итак, я имею дело с ячейками, из которых необходимо удалить определенные значения. В моем комментарии в приведенном ниже коде есть два примера String. Я хочу создать строку, которая также может заменить строку в конце ее 8 числами. Имейте в виду, что я действительно ищу алгоритм, который принимает 8 чисел сразу после "cvr", а не текстовое значение в конце ячейки, так как эта строка также может быть в начале.

// dontReplaceme 12345678 || cvr 87654321

String replaceCVRs = textValueForCPR.replaceAll("|CVR|Cvr|cvr|"+ (8 numbers after???))

1 Ответ

1 голос
/ 17 июня 2020

Вы можете использовать

String replaceCVRs = textValueForCPR.replaceAll("(?i)(cvr)\\s*\\d{1,8}", "$1")

ПРИМЕЧАНИЕ : если вы хотите проиграть сопоставление, если есть больше цифр после 8-di git числа, добавьте (?!\d) вперед на конец, "(?i)(cvr)\\s*\\d{1,8}(?!\\d)".

См. демонстрацию регулярного выражения здесь .

Подробности

  • (?i) - режим без учета регистра в
  • (cvr) - Группа 1: cvr строка
  • \s* - 0 или более пробелов
  • \d{1,8} - от одной до восьми цифр .
...