SAS 字符串


Strings in SAS are the values which are enclosed with in a pair of single quotes. Also the string variables are declared by adding a space and $ sign at the end of the variable declaration. SAS has many powerful functions to analyze and manipulate strings.

声明字符串变量


我们可以声明字符串变量及其值,如下所示。在下面的代码中,我们声明了两个长度为 6 和 5 的字符变量。 LENGTH 关键字用于声明变量而不创建多个观察值。

data string_examples;
    LENGTH string1 $ 6 String2 $ 5;
    /*String variables of length 6 and 5 */
    String1 = 'Hello';
    String2 = 'World';
    Joined_strings =  String1 ||String2 ;
run;
proc print data = string_examples noobs;
run;

在运行上述代码时,我们得到显示变量名称及其值的输出。

strings_1_concatenate

String Functions


以下是一些经常使用的 SAS 函数的示例。

SUBSTRN


此函数使用开始和结束位置提取子字符串。如果没有提到结束位置,它会提取所有字符直到字符串结束。

语法

SUBSTRN('stringval',p1,p2)

以下是使用的参数说明:

  • 字符串值 是字符串变量的值。
  • p1 是提取的起始位置。
  • p2 是提取的最终位置。

例子

data string_examples;
    LENGTH string1 $ 6 ;
    String1 = 'Hello';
    sub_string1 = substrn(String1,2,4) ;
    /*Extract from position 2 to 4 */
    sub_string2 = substrn(String1,3) ;
    /*Extract from position 3 onwards */
run;
proc print data = string_examples noobs;
run;

在运行上面的代码时,我们得到显示 substrn 函数结果的输出。

strings_2_substr

TRIMN

此函数从字符串中删除尾随空格。

语法

TRIMN('stringval')

以下是使用的参数说明:

  • 字符串值 是字符串变量的值。
data string_examples;
    LENGTH string1 $ 7  ;
    String1='Hello  ';
    length_string1 = lengthc(String1);
    length_trimmed_string = lengthc(TRIMN(String1));
run;
proc print data = string_examples noobs;
run;

在运行上述代码时,我们得到显示 TRIMN 函数结果的输出。

strings_3_trimn