如何使用 sas 中的 prxchange 函数(附示例)


您可以使用 SAS 中的PRXCHANGE函数来替换字符串中的特定模式。

该函数使用以下基本语法:

PRXCHANGE(正则表达式、次数、来源)

金子:

  • 正则表达式:指定要搜索的模式的正则表达式
  • times : 查找并替换模式的替换次数(使用-1继续替换模式,直到到达末尾)
  • source :要搜索的变量的名称

以下示例展示了在实践中针对 SAS 中的以下数据集使用此函数的两种常见方法:

 /*create dataset*/
data my_data;
    input phrase $char40. ;
    datalines ;
This is a cool name
That is a cool cool zebra
Oh hey there
Oh cool it's a cool-looking dog
Well now that is COOL
;
run ;

/*view dataset*/
proc print data =my_data; 

示例 1:使用 PRXCHANGE 将字符串中的模式替换为新模式

以下代码演示如何使用PRXCHANGE函数创建一个名为new_phrase的新列,该列将短语列中每次出现的“cool”替换为“fun”:

 /*create new dataset*/
data new_data;
set my_data;
    new_phrase = prxchange ('s/cool/fun/i', -1, phrase);
run ;

/*view new dataset*/
proc print data = new_data; 

请注意,每个“酷”的实例都已替换为“有趣”。

请注意,我们在正则表达式中使用s来指定我们要执行替换,并使用i来指定它不应该区分大小写。

示例 2:使用 PRXCHANGE 将字符串中的模式替换为空格

以下代码演示如何使用PRXCHANGE函数创建一个名为new_phrase的新列,该列将短语列中每次出现的“cool”替换为空格:

 /*create new dataset*/
data new_data;
    set my_data;
    new_phrase = prxchange ('s/cool//i', -1, phrase);
run ;

/*view new dataset*/
proc print data = new_data; 

请注意,每次出现的“cool”都被替换为空格。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

SAS中如何从字符串中提取数字
如何从SAS中的字符串中删除逗号
如何在SAS中按分隔符分割字符串

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注