如何从String中替换键的值

时间:2017-02-08 09:45:27

标签: java regex

我有一个像

这样的字符串
  

[txnAmt = 47210,txnCrncy = INR,cardExpiryDate = 20140430,cardHolderName = XX,cardNumber = 143448709244301,cvv2 = 123]

我想替换与key cardNumber相对应的值,即想要替换143448709244301或其他任何值676767676767

我怎样才能使用Java?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用lookbehind替换正则表达式:

str = str.replaceAll("(?<=cardNumber=)\\d+", "676767676767");

您可以使用类似的正则表达式首先获取现有值:

String value = str.replaceAll(".*cardNumber=(\\d+).*", "$1");