移除字符串首尾多余空格、数字及字符的技术实现请求
移除字符串首尾的多余空格、数字及字符
需求:移除字符串首尾的多余空格、数字及字符,示例如下:
输入:Column 1 11 2013US83838 2019IN353535 2输出:
2013US83838 2019IN353535
通用解决思路:正则匹配替换
核心是用正则表达式定位字符串开头和结尾的数字(0-9)与空格(\s)组合,把这些内容替换为空。对应的正则模式为:^[0-9\s]+|[0-9\s]+$
^[0-9\s]+:匹配字符串开头连续的数字或空格[0-9\s]+$:匹配字符串结尾连续的数字或空格|:同时覆盖开头和结尾的匹配规则
Python 实现代码
import re def clean_target_string(s): return re.sub(r'^[0-9\s]+|[0-9\s]+$', '', s) # 测试示例输入 test_strings = ["11 2013US83838", "2019IN353535 2"] for s in test_strings: print(clean_target_string(s))
运行输出:
2013US83838 2019IN353535
Oracle SQL 实现代码
如果是在Oracle数据库中处理表字段,可使用内置的REGEXP_REPLACE函数:
-- 构造测试数据 WITH sample_data AS ( SELECT '11 2013US83838' AS original_col FROM dual UNION ALL SELECT '2019IN353535 2' AS original_col FROM dual ) SELECT original_col, REGEXP_REPLACE(original_col, '^[0-9\s]+|[0-9\s]+$', '') AS cleaned_col FROM sample_data;
查询结果:
ORIGINAL_COL CLEANED_COL ------------------- ------------ 11 2013US83838 2013US83838 2019IN353535 2 2019IN353535
内容的提问来源于stack exchange,提问作者Oracle oracle
相关产品推荐
相关产品推荐

