R 字符串
R 语言中,字符串是一种表示文本数据的数据类型,它由字符(字符向量)组成,可以包含字母、数字、符号和空格等字符。
R 语言字符串可以使用一对单引号 ' ' 或一对双引号 " " 来表示。
- 单引号字符串中可以包含双引号。
- 单引号字符串中不可以包含单引号。
- 双引号字符串中可以包含单引号。
- 双引号字符串中不可以包含双引号。
创建字符串: 您可以使用单引号或双引号来创建字符串。
以下实例演示来字符串的使用:
实例
print ( a )
b <- "使用双引号"
print ( b )
c <- "双引号字符串中可以包含单引号(') "
print ( c )
d <- '单引号字符串中可以包含双引号(") '
print ( d )
执行以上代码输出结果为:
[1] "使用单引号" [1] "使用双引号" [1] "双引号字符串中可以包含单引号(') " [1] "单引号字符串中可以包含双引号(\") "
字符串操作
R 语言提供了多种操作字符串的函数和操作符,使得处理和操作文本数据变得方便。
以下我们来看下 R 语言一些内置函数对字符串对操作。
paste() 函数
paste() 函数用于使用指定对分隔符来对字符串进行连接,默认对分隔符为空格。
语法格式:
paste(..., sep = " ", collapse = NULL)
参数说明:
- ... : 字符串列表
- sep : 分隔符,默认为空格
- collapse : 两个或者更多字符串对象根据元素对应关系拼接到一起,在字符串进行连接后,再使用 collapse 指定对连接符进行连接
实例
b <- 'yssmx'
c <- "Taobao"
print ( paste ( a,b, c ) )
print ( paste ( a,b, c , sep = "-" ) )
print ( paste ( letters [ 1 : 6 ] , 1 : 6 , sep = "" , collapse = "=" ) )
paste ( letters [ 1 : 6 ] , 1 : 6 , collapse = "." )
执行以上代码输出结果为:
[1] "Google yssmx Taobao" [1] "Google-yssmx-Taobao" [1] "a1=b2=c3=d4=e5=f6" [1] "a 1.b 2.c 3.d 4.e 5.f 6"
format() 函数
format() 函数用于格式化字符串,format() 可作用于字符串或数字。
语法格式:
format(x, digits, nsmall, scientific, width, justify = c("left", "right", "centre", "none"))
参数说明:
- x : 输入对向量
- digits : 显示的位数
- nsmall : 小数点右边显示的最少位数
- scientific : 设置科学计数法
- width : 通过开头填充空白来显示最小的宽度
- justify:设置位置,显示可以是左边、右边、中间等。
实例
result <- format ( 23.123456789 , digits = 9 )
print ( result )
# 使用科学计数法显示
result <- format ( c ( 6 , 13.14521 ) , scientific = TRUE )
print ( result )
# 小数点右边最小显示 5 位,没有的以 0 补充
result <- format ( 23.47 , nsmall = 5 )
print ( result )
# 将数字转为字符串
result <- format ( 6 )
print ( result )
# 宽度为 6 位,不够的在开头添加空格
result <- format ( 13.7 , width = 6 )
print ( result )
# 左对齐字符串
result <- format ( "yssmx" , width = 9 , justify = "l" )
print ( result )
# 居中显示
result <- format ( "yssmx" , width = 10 , justify = "c" )
print ( result )
执行以上代码输出结果为:
[1] "23.1234568" [1] "6.000000e+00" "1.314521e+01" [1] "23.47000" [1] "6" [1] " 13.7" [1] "yssmx " [1] " yssmx "
nchar() 函数
nchar() 函数用于计数字符串或数字列表的长度。
语法格式:
nchar(x)
参数说明:
- x : 向量或字符串
实例
print ( result )
执行以上代码输出结果为:
[1] 20
toupper() & tolower() 函数
toupper() & tolower() 函数用于将字符串的字母转化为大写或者小写。
语法格式:
toupper(x) tolower(x)
参数说明:
- x : 向量或字符串
实例
print ( result )
# 转小写
result <- tolower ( "yssmx" )
print ( result )
执行以上代码输出结果为:
[1] "yssmx" [1] "yssmx"
substring() 函数
substring() 函数用于截取字符串。
语法格式:
substring(x,first,last)
参数说明:
- x : 向量或字符串
- first : 开始截取的位置
- last: 结束截取的位置
实例
result <- substring ( "yssmx" , 2 , 5 )
print ( result )
执行以上代码输出结果为:
[1] "unoo"
字符串替换
使用 gsub() 函数来替换字符串中的特定字符或模式。
实例
new_str <- gsub ( "World" , "R" , str )
# 输出: "Hello, R!"
字符串拆分
使用 strsplit() 函数将字符串拆分为子字符串。
实例
split_str <- strsplit ( str , "," )
# 输出: List of 1
# [[1]]
# [1] "Hello" " World!"
以上只列举了一小部分的 R 语言字符串操作实例,R 有大量的字符串处理函数和操作符,例如模式匹配、大小写转换、字符串比较等,您可以查阅 R 语言的官方文档获得更多字符串操作函数列表和使用说明。