You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用SAS或PROC SQL去除列中的字符串与标点符号?

SAS/PROC SQL 实现公司名称标准化处理

方法一:SAS 数据步处理

先创建示例数据集,再通过字符串函数逐步完成清洗:

/* 创建原始数据集 */
data raw_data;
    input Company $20.;
    datalines;
Amazon
Amazon.com
Amazon.llc
Amazon.ltd
Amazon corp
Amazon stores
;
run;

/* 清洗数据:移除指定后缀、标点、空格 */
data cleaned_data;
    set raw_data;
    /* 移除所有标点符号 */
    temp_str = compress(Company, '', 'p');
    /* 依次移除指定后缀字符串(如需不区分大小写,可先转成统一大小写) */
    temp_str = tranwrd(temp_str, 'COM', '');
    temp_str = tranwrd(temp_str, 'LLC', '');
    temp_str = tranwrd(temp_str, 'LTD', '');
    temp_str = tranwrd(temp_str, 'CORP', '');
    temp_str = tranwrd(temp_str, 'STORES', '');
    /* 移除所有空格得到最终清洗结果 */
    Clean_Company = compress(temp_str, '', 's');
    /* 可选:用PROPCASE统一首字母大写格式 */
    /* Clean_Company = propcase(compress(temp_str, '', 's')); */
    drop temp_str;
run;

/* 查看清洗后的数据 */
proc print data=cleaned_data noobs;
run;

方法二:PROC SQL 实现

通过嵌套字符串函数在SQL语句中完成批量清洗:

/* 基于已创建的raw_data数据集处理 */
proc sql;
    create table cleaned_data_sql as
    select 
        Company,
        /* 嵌套函数依次完成标点移除、指定后缀替换、空格移除 */
        compress(
            tranwrd(
                tranwrd(
                    tranwrd(
                        tranwrd(
                            tranwrd(
                                compress(Company, '', 'p'),
                                'COM', ''
                            ),
                            'LLC', ''
                        ),
                        'LTD', ''
                    ),
                    'CORP', ''
                ),
                'STORES', ''
            ), '', 's'
        ) as Clean_Company
        /* 可选:统一首字母大写格式 */
        /* propcase(compress(tranwrd(...), '', 's')) as Clean_Company */
    from raw_data;
quit;

关键函数说明

  • compress(var, '', 'p'):移除变量中的所有标点符号,'p'代表匹配标点类字符
  • tranwrd(source, target, replacement):将字符串中的目标内容替换为指定值(此处替换为空以删除目标后缀)
  • compress(var, '', 's'):移除变量中的所有空格,'s'代表匹配空格类字符
  • propcase(var):将字符串转换为首字母大写、其余小写的格式(可选,用于统一名称展示格式)

内容的提问来源于stack exchange,提问作者L H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 01:51:22