R语言 的字符串操作

R语言 的字符串操作

字符串操作基本上指的是处理和分析字符串的过程。它涉及与修改和解析字符串以使用和改变其数据有关的各种操作。R提供了一系列内置的函数来操作字符串的内容。在这篇文章中,我们将学习与R语言中的字符串操作有关的不同函数。

字符串的连接

字符串连接是将两个字符串合并的技术。字符串串联可以用很多方法完成。

  • paste()函数 任何数量的字符串都可以用 paste() 函数连接起来,形成一个更大的字符串。这个函数的参数是分隔符,用于各个字符串元素之间,另一个参数 “collapse “反映了我们是否希望将这些字符串打印成一个更大的字符串。默认情况下,collapse的值为NULL。 语法:
paste(..., sep=" ", collapse = NULL)
R
  • 例子。
# R program for String concatenation
 
# Concatenation using paste() function
str <- paste("Learn", "Code")
print (str)
R
  • 输出
 "Learn Code"
R
  • 如果没有指定分隔符,默认的分隔符””将插入各个字符串之间。

    例子

str <- paste(c(1:3), "4", sep = ":")
print (str)
R
  • 输出
"1:4" "2:4" "3:4"
R
  • 由于要连接的对象有不同的长度,长度较小的字符串将与其他输入字符串重复。第一个字符串是一个1、2、3的序列,然后用分隔符’:’将其与另一个字符串 “4 “单独连接起来。
str <- paste(c(1:4), c(5:8), sep = "--")
print (str)
R
  • 输出
"1--5" "2--6" "3--7" "4--8"
R
  • 由于两个字符串的长度相同,所以两个字符串的相应元素被连接起来,即第一个字符串的第一个元素与第二个字符串的第一个元素使用sep’-‘连接起来。

  • cat()函数 可以使用R语言中的 cat() 函数将不同类型的字符串连接在一起,其中sep指定了字符串和文件名之间的分隔符,以防我们希望将内容写入文件中。

    语法

cat(..., sep=" ", file)
R
  • 例子
# R program for string concatenation
 
# Concatenation using cat() function
str <- cat("learn", "code", "tech", sep = ":")
print (str)
R
  • 输出
learn:code:techNULL
R
  • 输出的字符串没有任何引号,默认的分隔符是’:’。

    例子 :NULL值被附加在最后。

cat(c(1:5), file ='sample.txt')
R
  • 输出
1 2 3 4 5
R

输出结果被写入同一工作目录下的文本文件sample.txt中。

计算字符串的长度

  • length()函数 length() 函数决定了函数中指定的字符串的数量。

    例子

# R program to calculate length
 
print (length(c("Learn to", "Code")))
R
  • 输出
2
R
  • 该函数中指定了两个字符串。

  • nchar()函数 nchar() 单独计算作为函数参数指定的每个字符串中的字符数。

    例子

print (nchar(c("Learn", "Code")))
R
  • 输出
5 4
R
  • 输出显示Learn的长度,然后Code用” “分开。

字符串的大小写转换

  • 转换为大写字母 指定的字符串的所有字符都转换为大写字母。

    例如。

print (toupper(c("Learn Code", "hI")))
R
  • 输出:
"LEARN CODE" "HI"
R
  • 转换为小写字母 指定的字符串的所有字符都被转换为小写字母。

    例如。

print (tolower(c("Learn Code", "hI")))
R
  • 输出:
"learn code" "hi"
R
  • casefold()函数 根据casefold(…, upper=TRUE)中的参数,将指定字符串的所有字符转换为小写或大写。

    示例。

print (casefold(c("Learn Code", "hI")))
R
  • 输出
"learn code" "hi"
R
  • 默认情况下,字符串被转换为小写。
print (casefold(c("Learn Code", "hI"), upper = TRUE))
R
  • 输出
"LEARN CODE" "HI"
R

字符替换

字符可以用R中的chartr(oldchar, newchar, …)函数进行翻译,在指定的字符串集合中,每个旧的字符实例都被新的字符所替换。

例1 :

chartr("a", "A", "An honest man gave that")
R

输出

"An honest mAn gAve thAt"
R

每一个’a’的实例都被’A 所取代。

例2

chartr("is", "#@", c("This is it", "It is great"))
R

输出

"Th#@ #@ #t"  "It #@ great"
R

旧字符串的每个实例都被新指定的字符串所取代。”i “被 “#”被 “s “被”@”所取代,即旧字符串的相应位置被新字符串所取代。

例3 :

chartr("ate", "#@", "I hate ate")
R

输出

Error in chartr("ate", "#@", "I hate ate") : 'old' is longer than 'new'
         Execution halted 
R

旧字符串的长度应小于新字符串的长度。

拆分字符串

一个字符串可以用” “这个默认的分隔符分割成相应的单独的字符串。

例如

strsplit("Learn Code Teach !", " ")
R

输出

[1] "Learn" "Code"  "Teach" "!"
R

使用子串的工作

R中的substr(…, start, end)或substring(…, start, end)函数从一个字符串中提取以起始索引为起点,以结束索引为终点的子串。它还会用一组新的字符来替换指定的子串。

例如

substr("Learn Code Tech", 1, 4)
R

输出

"Lear"
R

从字符串中提取前四个字符。

str & lt
- c(& quot
     program", & quot
     with"
     , & quot
     new"
     , & quot
     language"
     )
substr(str, 3, 3) & lt
- & quot
% & quot
print(str)
R

输出

"pr%gram"  "wi%h"     "ne%"      "la%guage"
R

将每个字符串的第三个字符替换为%符号。

str <- c("program", "with", "new", "language")
substr(str, 3, 3) <- c("%", "@")
print(str)
R

输出

"pr%gram"  "wi@h"     "ne%"      "la@guage"
R

用指定的符号交替替换每个字符串的第三个字符。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程