SAS - 字符串

17 Mar 2025 | 4 分钟阅读

在上一节中,我们学习了 SAS 变量。现在,在本节中,我们将学习 SAS 字符串及其各种操作。

SAS 中的字符串是包含在一对单引号中的值。在 SAS 中,字符串变量通过在变量声明的末尾添加一个空格和美元符号 $ 来声明。SAS 中有几个强大的函数可以分析和操作字符串。

声明字符串变量

我们可以声明字符串变量及其值,如下例所示。在代码中,我们声明了一个名为 String1 的字符串变量。

示例

在 SAS studio 中执行上述代码

SAS- String

输出

SAS- String

您可以在输出中看到,"Hello" 已经存储在字符串变量 String1 中。

可以在一个数据集中声明多少个字符串变量?

我们可以在一个数据集中声明多个字符串变量。让我们看下面的例子

在 SAS studio 中执行上述代码

SAS- String

输出

SAS- String

您可以在输出中看到,所有值都已存储在字符串变量中,即 String1String2String3String4String5

我们可以维护字符串变量的长度吗?

我们可以通过使用 length 关键字来维护存储容量或字符数或字符串变量的长度。一旦我们固定了长度,SAS 就不会存储超过固定长度的字符。让我们看下面的例子

在 SAS studio 中执行上述代码

SAS- String

输出

SAS- String

您可以在输出中看到,所有值都对应于一个固定长度。超过固定长度的字符已被删除。

我们可以连接多个字符串变量吗?

我们可以通过使用 Joined_strings 语句 来连接多个字符串变量。让我们看下面的例子

在 SAS studio 中执行上述代码

SAS- String

输出

SAS- String

您可以在输出中看到,所有字符串都已连接。

各种字符串函数

以下是用于执行字符串操作的常用语句。

SUBSTRING 函数

SUBSTRN 语句 用于通过使用开始和结束位置来提取子字符串。

语法

其中,

  • SUBSTRN: 这是一个用于从字符串中提取字符的语句。
  • 字符串值: 这是字符串变量的值。
  • p1: 这是提取的起始位置。
  • p2 这是提取的结束位置。

提取有两种情况

第一种情况: 当我们提供两个位置时,即起始位置和结束位置。

SAS 使用起始位置元素来开始提取,并使用结束位置元素来识别要提取的元素的总数。让我们通过一个例子来理解

示例

在 SAS studio 中执行上述代码

SAS- String

输出

SAS- String

您可以在输出中看到,提取是从位置 1 开始的,即 A,当总共 4 个元素(即 ABCD)被提取时,它结束。

第二种情况: 当我们只提供一个位置,即起始位置。

在只提供起始位置而没有结束位置的情况下,它会提取到字符串末尾的所有字符。让我们通过一个例子来理解

在 SAS studio 中执行上述代码

SAS- String

输出

SAS- String

您可以在输出中看到,提取是从位置 4 开始的,即 D,当提取所有剩余元素(即 DEFG)完成后,它结束。

TRIM

TRIMN 语句用于从字符串中删除尾随空格。

语法

其中,

  • TRIM: 这是一个用于从字符串中修剪空格的语句。
  • 字符串值: 这是需要修剪的字符串变量的值。

让我们通过一个例子来理解

当我们在 SAS Studio 中运行上述代码时,我们将获得显示 TRIM 函数结果的输出。

SAS- String

输出

SAS- String

您可以在输出中看到,字符串的长度已从 6 修剪为 4。


下一个主题SAS-数组