Java正则表达式将数值替换为引号中的数值

2022-01-28 13:06:16 标签 javaregex

有人可以帮助与regex替换所有整数和双精度与给定的字符串与单引号:

Key1 = aKey2 = 2 key3 = 999。6 key4 = 8888 key5 = true

用这个:

Key1 = aKey2 = ' 2 'key3 = ' 999。6 'key4 = ' 8888 'key5 = true

我想使用regex组捕获规则替换所有数字字符串开始=和替换为"。

###使用一个环顾两端:

String quoted = str.replaceAll("(?<==)\\d+(\\.\\d+)?(?=,|$)", "'$0'");

组0的整个匹配就是要用组0周围的引号替换的数字。

匹配开始时向后查找等号,结束时向前查找逗号或输入结束。

###你可以尝试用regex替换所有的方法:

String input = "Key1=a,Key2=2,Key3=999.6,Key4=8888,Key5=true";
String output = input.replaceAll("([^,]+)=(\\d+(?:\\.\\d+)?)", "$1='$2'");
System.out.println(output);  // Key1=a,Key2='2',Key3='999.6',Key4='8888',Key5=true

下面是使用正则表达式模式的解释:

([^,]+)             match and capture the key in $1
=                   match =
(\\d+(?:\\.\\d+)?)  match and capture an integer or float number in $2

然后我们用$1='$2'替换,引用数字值。

阅读全文

▼ 版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
随便看看

错说 cuoshuo.com —— 程序员的报错记录

部分内容根据CC版权协议转载;网站内容仅供参考,生产环境使用务必查阅官方文档

辽ICP备19011660号-5

×

扫码关注公众号:职场神器
发送: 1
获取永久解锁本站全部文章的验证码