Java 正则表达式将certains字符串替换为后面的一系列数字
好的。因此,我正在处理需要删除某些值的单元格。在我下面代码中的注释中,有两个字符串示例。我想创建一个字符串,也可以用它的8个数字替换结尾的字符串。请记住,我真的在寻找一种算法,它在“cvr”后面取8个数字,而不是单元格末尾的文本值,因为这个字符串也可能在开头 //请勿更换12345678 | | cvr 87654321Java 正则表达式将certains字符串替换为后面的一系列数字,java,regex,string,syntax,integer,Java,Regex,String,Syntax,Integer,好的。因此,我正在处理需要删除某些值的单元格。在我下面代码中的注释中,有两个字符串示例。我想创建一个字符串,也可以用它的8个数字替换结尾的字符串。请记住,我真的在寻找一种算法,它在“cvr”后面取8个数字,而不是单元格末尾的文本值,因为这个字符串也可能在开头 //请勿更换12345678 | | cvr 87654321 String replaceCVRs = textValueForCPR.replaceAll("|CVR|Cvr|cvr|"+ (8 numbers after???))
String replaceCVRs = textValueForCPR.replaceAll("|CVR|Cvr|cvr|"+ (8 numbers after???))
你可以用
String replaceCVRs = textValueForCPR.replaceAll("(?i)(cvr)\\s*\\d{1,8}", "$1")
注意:如果您想在8位数字后有更多的数字,则在末尾添加(?!\d)
前瞻,“(?i)(cvr)\\s*\\d{1,8}(?!\\d)”
看
详细信息
-不区分大小写模式打开(?i)
-第1组:(cvr)
stringcvr
-0个或更多空格\s*
-一到八位数字\d{1,8}
String replaceCVRs=textValueForCPR.replaceAll(“(?i)(cvr)\\d{8}”,即“$1”)
?@WiktorStribiż您的答案似乎有效。然而,它只有在“cvr”和8个数字之间没有空格时才起作用。如果他们之间有“”怎么办?我能用这行代码来表达吗?@WiktorStribiżew再次感谢。成功了!不过,我还有一个相关的小问题。我如何允许它删除从1到8的数字。因为有些CVR少于8个号码,我也想删除。