Заменить несколько символов в многострочной строке в java

Имейте многострочную строку, как показано ниже:

String str = "CreditCardDetails = {\n"
           +"CreditCardHolder=\"PJPJ PJPJ\"\n"
           +"CreditCardNumber=\"4111111111111111\"}";

Нужно изменить его на что-то вроде этого в Java:

CreditCardDetails = {
CreditCardHolder = "XXXXXXXXXXXXXXXX"
CreditCardNumber = "XXXXXXXXXXXXXXXX"}

Что это за вывод, другая строка?

Joakim Danielson 29.01.2019 11:24

Да, нужно заменить его на вторую строку

Shitu 29.01.2019 11:26
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
35
1

Ответы 1

Вы можете просто заменить цитируемый контент:

str = str.replaceAll("\".*?\"", "\"XXXXXXXXXXXXXXXX\"");

Что производит ожидаемую строку:

CreditCardDetails = {
CreditCardHolderX2 = "XXXXXXXXXXXXXXXX"
CreditCardNumberX2 = "XXXXXXXXXXXXXXXX"}

Где регулярное выражение .*? означает кратчайшую последовательность *? любого символа .; следовательно, не брать символы кавычек.

Joop Eggen 29.01.2019 11:29

Другие вопросы по теме