在 R 中删除字符串中的最后一个字符

Manav Narula 2023年1月30日
  1. 使用 substr() 函数删除 R 中的最后一个字符
  2. 使用 str_sub() 函数删除 R 中的最后两个字符
  3. 使用 gsub() 函数删除 R 中的最后两个字符
在 R 中删除字符串中的最后一个字符

字符串是任何编程语言中必不可少的常用部分。它本质上是一个序列中的字符集合,可以存储变量和常量。

在 R 中,单引号或双引号之间的任何东西都被认为是一个字符串。本教程将介绍如何从字符串或字符串向量中删除最后一个字符。

使用 substr() 函数删除 R 中的最后一个字符

R 中的 substr() 函数从一个字符串中提取或替换一个子字符串。我们将给定的字符串和所需子字符串的起始和最终位置传递给函数。请看下面的例子。

substr("Jack",2,3)
[1] "ac"

在上面的例子中,它提取的是第 2 到第 3 个位置的字符。

name <- "Jack"
substr(name,1,nchar(name)-2)
[1] "Ja"

nchar() 函数返回字符串的长度,因此 1, nchar(name)-2 指定了从开始到最后第三个字符的子字符串范围。上面的示例代码从给定的字符串中删除了最后两个字符。

我们也可以向 substr() 函数传递一个字符串向量或一个列名。下面的代码将展示我们如何从一个字符串向量中删除最后两个字符。

name <- c("Jackkk","Markkk","Jayyy")
substr(name,1,nchar(name)-2)
"Jack" "Mark" "Jay"

使用 str_sub() 函数删除 R 中的最后两个字符

str_sub() 函数在 R 中的 stringr 包中提供,它与 substr() 函数非常相似,但有一些区别。与 substr() 函数不同的是,它已经有了一些默认参数,并且对负指数的处理方式也不同。

我们可以使用下面所示的 str_sub() 函数删除最后两个字符。

library(stringr)
name <- c("Jackkk","Markkk","Jayyy")
str_sub(name,1,nchar(name)-2)
[1] "Jack" "Mark" "Jay"

使用 gsub() 函数删除 R 中的最后两个字符

R 中的 gsub() 函数通过匹配特定的模式来替换或提取字符串。要使用 gsub() 函数从末尾删除字符,我们需要使用正则表达式。请看下面的例子。

name <- c("Jackkk","Markkk","Jayyy")
gsub('.{2}$', '', name)
[1] "Jack" "Mark" "Jay" 

.{2}$ 是匹配最后两个字符的正则表达式。. 匹配任何字符,{2} 匹配前面的模式两次,$ 匹配字符串的末尾。

作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相关文章 - R String