早教吧 育儿知识 作业答案 考试题库 百科 知识分享

UltraEdit正则表达式替换数字,让每个数字都加1000怎么做替换STRING1STRING2STRING3...STRING1100变成STRING1001STRING1002STRING1003...STRING2100Perl规则

题目详情
UltraEdit正则表达式替换数字,让每个数字都加1000怎么做
替换
STRING 1
STRING 2
STRING 3
...
STRING 1100
变成
STRING 1001
STRING 1002
STRING 1003
...
STRING 2100
Perl规则
▼优质解答
答案和解析
单纯用Perl的正则替换的话,好像只有这么做(需要4种手动替换,共5次):
1.对于1位的数字加上1000,就在数字前面添上100:
Find What: (\<[0-9]{1}\>)
Replace With: 100\1
2.2位数字加上1000,就在数字前面填上10
Find What: (\<[0-9]{2}\>)
Replace With: 10\1
3.3位数字加上1000,就在数字前面填上1
Find What: (\<[0-9]{3}\>)
Replace With: 1\1
4.4位数字以1开头的把第一个1变成2,以2开头的把第一个2变成3
Find What: \<1([0-9]{3})
Replace With: 2\1
Find What: \<2([0-9]{3})
Replace With: 3\1
 强烈推荐 vim 编辑器.
用 vim 的正则替换,仅需这样即可完成所有的工作:
:%s/\d\+/\=submatch(0)+1000/g