首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用正则表达式逐个替换数字

用正则表达式逐个替换数字
EN

Stack Overflow用户
提问于 2013-12-06 16:30:06
回答 2查看 46关注 0票数 0

我有这样的字符串:

代码语言:javascript
复制
"Query_string" : [ 1345.6423, 5656.5, 346.324, 880.0 ],
"Query_string" : [ 1345.6423, 5656.5, 346.324, 880.0 ],
"Query_string" : [ 1345.6423, 5656.5, 346.324, 880.0 ],
Random code 124253
String.....

我需要将前面有"query_string“的数字替换为零,如下所示:

代码语言:javascript
复制
"Query_string" : [ 0000.0000, 0000.0, 000.000, 000.0 ],

但是其他的东西应该留在原地,例如:

代码语言:javascript
复制
Random code 124253

我试过这个:

代码语言:javascript
复制
(^\"Query\_string\"\s\:\s\[\s)|\d|(\s\]\,)

但是它匹配所有的数字,包括“随机代码124253”

EN

回答 2

Stack Overflow用户

发布于 2013-12-06 18:52:55

代码语言:javascript
复制
sed ": loop
s/\("Query_string".*\)[1-9]/\10/
t loop" YourFile
票数 1
EN

Stack Overflow用户

发布于 2013-12-06 16:35:08

此sed表达式将查询行上的所有非零数字替换为0:

代码语言:javascript
复制
 sed '/^"Query_string"/{s/[1-9]/0/g}' input

另一个版本:

代码语言:javascript
复制
sed '/^"Query_string"/!b;s/[1-9]/0/g' input

还有一个:

代码语言:javascript
复制
sed '/^"Query_string"/s/[1-9]/0/g' input
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20419340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档