vim如何用正则表达式把数字换成相同长度的空格呢?
比如如下1.23451.21.32.32.1232.4如何变成下面的结果呢?1.21.21.32.32.12.4我使用:%s/\(\.\d\)\d\{1,}/\1/g也就...
比如如下
1.2345 1.2
1.3 2.3
2.123 2.4
如何变成下面的结果呢?
1.2 1.2
1.3 2.3
2.1 2.4
我使用:%s/\(\.\d\)\d\{1,}/\1/g 也就是把小数点后开始的第
一个数字以后的数字全部都删除,但是如果能把小数点后的数字换成
等长度的空格就好呢?其实有大量的这样的数据,我只是列举了一小
部分,所以这个只能使用正则表达式.
使用上面的命令得到的结果
但是会变成下面的结果:
1.2 1.2
1.3 2.3
2.1 2.4
这个问题就是:
这个还需要我自己去排版增加空格,真的很麻烦.不知道怎么样用正则表达式
把小数点后开始的第一个数字以后的数字全部都换成等长度的空格呢? 展开
1.2345 1.2
1.3 2.3
2.123 2.4
如何变成下面的结果呢?
1.2 1.2
1.3 2.3
2.1 2.4
我使用:%s/\(\.\d\)\d\{1,}/\1/g 也就是把小数点后开始的第
一个数字以后的数字全部都删除,但是如果能把小数点后的数字换成
等长度的空格就好呢?其实有大量的这样的数据,我只是列举了一小
部分,所以这个只能使用正则表达式.
使用上面的命令得到的结果
但是会变成下面的结果:
1.2 1.2
1.3 2.3
2.1 2.4
这个问题就是:
这个还需要我自己去排版增加空格,真的很麻烦.不知道怎么样用正则表达式
把小数点后开始的第一个数字以后的数字全部都换成等长度的空格呢? 展开
3个回答
展开全部
个或多个空格
\zs 从此开始匹配 :h \zs
\s 一个空格
即:将跟在多个空格后的一个空格删去
%s/\s\+\zs\s\//g
加一个\可以删多个空格。n代表空格个数
\zs 从此开始匹配 :h \zs
\s 一个空格
即:将跟在多个空格后的一个空格删去
%s/\s\+\zs\s\//g
加一个\可以删多个空格。n代表空格个数
追问
我试验了你的%s/\s\+\zs\s\//g 不行呀,而且我觉得你还多余了一个\ , 最后一个\是多余的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你那个不好用
用我的吧
%s/\.\d\zs\d*\s*/\t\t/g
将后面的数字和空格换成\t\t
用我的吧
%s/\.\d\zs\d*\s*/\t\t/g
将后面的数字和空格换成\t\t
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-03-14
展开全部
用个sed 也行,
sed -i -e 's/^\([0-9].[0-9]\)[0-9]* */\1 /' +filename
sed -i -e 's/^\([0-9].[0-9]\)[0-9]* */\1 /' +filename
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询