Regex替换某些字符串,并在其后跟随一系列数字

问题描述 投票:0回答:1

好。因此,我正在处理需要删除某些值的单元格。在下面代码的注释中,有两个String示例。我想创建一个字符串,该字符串也可以用8个数字结尾替换该字符串。请记住,我真的在寻找一种算法,该算法在“ cvr”之后紧接8个数字,而不是单元格末尾的文本值,因为此字符串也可以在开头。

// dontReplaceme 12345678 || cvr 87654321

String replaceCVRs = textValueForCPR.replaceAll("|CVR|Cvr|cvr|"+ (8 numbers after???))
java regex string syntax integer
1个回答
0
投票

您可以使用

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

NOTE:如果您希望在8位数字后还有更多数字而失败,请在末尾添加(?!\d),即"(?i)(cvr)\\s*\\d{8}(?!\\d)"

详细信息

  • [(?i)-不区分大小写的模式开启
  • [(cvr)-组1:cvr字符串
  • \s*-0或多个空格
  • [\d{8}-八位数字。
© www.soinside.com 2019 - 2024. All rights reserved.