java - 正则表达式将某些字符串替换为后面的数字范围
问题描述
好的。所以我正在处理需要删除某些值的单元格。在我对下面代码的评论中,有两个字符串示例。我想创建一个字符串,它也可以用它的 8 个数字替换末尾的字符串。请记住,我真的在寻找一种算法,它在“cvr”之后取 8 个数字,而不是单元格末尾的文本值,因为这个字符串也可能在开头。
//不要替换我 12345678 || 简历 87654321
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)
- 不区分大小写模式(cvr)
- 第 1 组:cvr
字符串\s*
- 0 个或多个空格\d{1,8}
- 一到八位数。
推荐阅读
- sql - SQL - 获取与上个月的差异摘要
- reactjs - 在路由 ReactJs 中将道具传递给功能组件
- android - 将首选项屏幕放在片段内
- javascript - 通过在每个构建上提供新名称来更新资产名称
- php - 仅在商品属于特定类别时显示 WooCommerce 我的帐户订单
- mysql - 为什么我的 docker mysql 数据库容器拒绝来自我的应用程序(golang)容器的连接
- javascript - 我在使用 react native 安装 pod 时遇到错误
- javascript - 将变量发送到 $_POST 而不进行实时搜索
- sql - Magento 2 - 通过 SQL 和 CSV 将产品分配给类别
- sql - 生成“缺失”行 SQL