【发布时间】:2018-08-14 18:11:59
【问题描述】:
我有一个逗号分隔的文件,我需要更改第一列删除字符串中的前导零。文本文件如下
ABC-0001,ab,0001
ABC-0010,bc,0010
我需要获取如下数据
ABC-1,ab,0001
ABC-10,bc,0010
我可以做一个命令行替换,我尝试如下:
sed 's/ABC-0*[1-9]/ABC-[1-9]/g' file
我最终得到了输出:
ABC-[1-9],ab,0001
ABC-[1-9]0,ac,0010
你能告诉我我在这里缺少什么吗?
另外,我还尝试在生成此文件的 SQL 中应用格式,如下所示:
select regexp_replace(key,'((0+)|1-9|0+)','(1-9|0+)') from file where key in ('ABC-0001','ABC-0010')
输出为
ABC-(1-9|0+)1
ABC-(1-9|0+)1(1-9|0+)
任何一个解决方案的帮助都会非常有帮助!
【问题讨论】:
标签: regex oracle sed regex-group regexp-replace