【问题标题】:Replace few characters in a mulitline string in java在java中替换多行字符串中的几个字符
【发布时间】:2019-01-29 10:22:37
【问题描述】:

有一个多行字符串,如下所示:

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

需要在 Java 中将其更改为类似的内容:

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

【问题讨论】:

  • 那个输出是什么,另一个字符串?
  • 是需要替换成第二个字符串

标签: java string replace str-replace multiline


【解决方案1】:

你可以只替换引用的内容:

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

产生预期的字符串:

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

【讨论】:

  • 其中正则表达式.*?表示任何字符.中最短的序列*?;因此不采用引号字符。
猜你喜欢
  • 2017-02-24
  • 1970-01-01
  • 2011-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-06
相关资源
最近更新 更多