Strings

优质
小牛编辑
124浏览
2023-12-01

在R中的一对单引号或双引号内写入的任何值都被视为字符串。 内部R将每个字符串存储在双引号内,即使您使用单引号创建它们也是如此。

字符串构造中应用的规则

  • 字符串开头和结尾的引号应该是双引号或双引号。 他们不能混在一起。

  • 双引号可以插入到以单引号开头和结尾的字符串中。

  • 单引号可以插入到以双引号开头和结尾的字符串中。

  • 双引号不能插入以双引号开头和结尾的字符串中。

  • 单引号不能插入以单引号开头和结尾的字符串。

有效字符串的示例

以下示例阐明了在R中创建字符串的规则。

a <- 'Start and end with single quote'
print(a)
b <- "Start and end with double quotes"
print(b)
c <- "single quote ' in between double quotes"
print(c)
d <- 'Double quotes " in between single quote'
print(d)

运行上面的代码时,我们得到以下输出 -

[1] "Start and end with single quote"
[1] "Start and end with double quotes"
[1] "single quote ' in between double quote"
[1] "Double quote \" in between single quote"

无效字符串的示例

e <- 'Mixed quotes" 
print(e)
f <- 'Single quote ' inside single quote'
print(f)
g <- "Double quotes " inside double quotes"
print(g)

当我们运行脚本时,它无法给出以下结果。

Error: unexpected symbol in:
"print(e)
f <- 'Single"
Execution halted

字符串操作

连接字符串 - paste()函数

R中的许多字符串使用paste()函数进行组合。 它可以将任意数量的参数组合在一起。

语法 (Syntax)

粘贴功能的基本语法是 -

paste(..., sep = " ", collapse = NULL)

以下是所用参数的说明 -

  • ...表示要组合的任意数量的参数。

  • sep表示参数之间的任何分隔符。 这是可选的。

  • collapse用于消除两个字符串之间的空间。 但不是一个字符串的两个单词中的空格。

例子 (Example)

a <- "Hello"
b <- 'How'
c <- "are you? "
print(paste(a,b,c))
print(paste(a,b,c, sep = "-"))
print(paste(a,b,c, sep = "", collapse = ""))

当我们执行上面的代码时,它会产生以下结果 -

[1] "Hello How are you? "
[1] "Hello-How-are you? "
[1] "HelloHoware you? "

格式化数字和字符串 - format()函数

可以使用format()函数将数字和字符串格式化为特定样式。

语法 (Syntax)

格式函数的基本语法是 -

format(x, digits, nsmall, scientific, width, justify = c("left", "right", "centre", "none")) 

以下是所用参数的说明 -

  • x是矢量输入。

  • digits是显示的总位数。

  • nsmall是小数点右边的最小位数。

  • scientific设置为TRUE以显示科学记数法。

  • width表示在开头填充空白时显示的最小宽度。

  • justify是向左,右或中心显示字符串。

例子 (Example)

# Total number of digits displayed. Last digit rounded off.
result <- format(23.123456789, digits = 9)
print(result)
# Display numbers in scientific notation.
result <- format(c(6, 13.14521), scientific = TRUE)
print(result)
# The minimum number of digits to the right of the decimal point.
result <- format(23.47, nsmall = 5)
print(result)
# Format treats everything as a string.
result <- format(6)
print(result)
# Numbers are padded with blank in the beginning for width.
result <- format(13.7, width = 6)
print(result)
# Left justify strings.
result <- format("Hello", width = 8, justify = "l")
print(result)
# Justfy string with center.
result <- format("Hello", width = 8, justify = "c")
print(result)

当我们执行上面的代码时,它会产生以下结果 -

[1] "23.1234568"
[1] "6.000000e+00" "1.314521e+01"
[1] "23.47000"
[1] "6"
[1] "  13.7"
[1] "Hello   "
[1] " Hello  "

计算字符串中的字符数 - nchar()函数

此函数计算字符串中包含空格的字符数。

语法 (Syntax)

nchar()函数的基本语法是 -

nchar(x)

以下是所用参数的说明 -

  • x是矢量输入。

例子 (Example)

result <- nchar("Count the number of characters")
print(result)

当我们执行上面的代码时,它会产生以下结果 -

[1] 30

更改大小写 - toupper()和tolower()函数

这些函数改变了字符串字符的大小写。

语法 (Syntax)

toupper()和tolower()函数的基本语法是 -

toupper(x)
tolower(x)

以下是所用参数的说明 -

  • x是矢量输入。

例子 (Example)

# Changing to Upper case.
result <- toupper("Changing To Upper")
print(result)
# Changing to lower case.
result <- tolower("Changing To Lower")
print(result)

当我们执行上面的代码时,它会产生以下结果 -

[1] "CHANGING TO UPPER"
[1] "changing to lower"

提取字符串的部分 - substring()函数

此函数提取String的部分内容。

语法 (Syntax)

substring()函数的基本语法是 -

substring(x,first,last)

以下是所用参数的说明 -

  • x是字符向量输入。

  • first是要提取的第一个字符的位置。

  • last是要提取的最后一个字符的位置。

例子 (Example)

# Extract characters from 5th to 7th position.
result <- substring("Extract", 5, 7)
print(result)

当我们执行上面的代码时,它会产生以下结果 -

[1] "act"