我正在尝试在sql语句中使用正则表达式来删除字符串“ text”(看起来像是
)中的所有空格和数字1. 000000123456 (No space)
2. 00000 123456 (spaces in the beginning and end of string)
3. 90330000 45 (2 spaces at the end)
到目前为止,我已经能够提出以下解决方案:
select regexp_replace('text','\\s(^[0-9]*)\\s','\\1')
select regexp_replace('text','[[:blank:]]+[^[0-9]*][[:blank:]]+','\\1')
我得到的结果是:
1. 000000123456
2. 00000 123456
3. 90330000 45
我照原样得到了文本。如果我尝试使用
删除数字regexp_replace('text','^[0-9]*','\\1'),
它正常工作-所有数字都被删除,并且值导致为“(空)”。但是带空格的文本不会删除数字或空格。
我在这里做什么错了?
答案 0 :(得分:-1)
尝试使用同时包含数字和空格的字符类:
regexp_replace('text', '[0-9\\s]+', '')
这应该删除所有数字和空格。但是,由于您没有向我们显示上下文中的数字,因此您还不确定要做什么。