我想做点什么,但想不起来/找不到答案。我有一个来自人口普查局的城市名称列表,他们把城市的类型放在最后,这把我的match()
搞乱了。
我想这样做:
Middletown Township
Sunny Valley Borough
Hillside Village
变成这样:
Middletown
Sunny Valley
Hillside
有什么建议吗?理想情况下,我还想知道R中是否有lastIndexOf()
函数。
数据如下:
df1 <- data.frame(
id = c(1, 2, 3),
city = factor(c("Middletown Township", "Sunny Valley Borough", "Hillside Village"))
)
3条答案
按热度按时间ozxc1zmp1#
这将工作:
它删除由一个或多个空格字符组成的任何子字符串,后跟任意数量的“单词”字符(空格、数字或下划线),后跟字符串的结尾。
w51jfk4q2#
下面是一个regexp,它可以满足您的需求:
[1]《米德尔敦》《阳光谷》《希尔赛德》
这是用一个空字符串替换一个以空格开头,然后只包含字母直到字符串结尾的子字符串。
yzuktlbb3#
我会在stringr包中使用
word()
,如下所示:第一个参数(
1
)表示从第一个单词开始,第二个参数(-2
)表示将所有内容保留到倒数第二个单词。