我有一个“名称”列,名称如下:

Preety ..
Sudalai Rajkumar S.
Parvathy M. S.
Navaraj Ranjan Arthur


我想获得其中哪些是单词名称,例如本例中的Preety。

我试图消除“。”和“”并计算长度,并使用此长度与原始字符串长度的差。

但这没有给我想要的输出。请帮忙。

NBData3$namewodot <- gsub(" .","",NBData3$Client.Name)
NBData3$namewoblank <- gsub(" ","",NBData3$namewodot)
wordlength <- NBData3$namelengthchar-nchar(as.character(NBData3$namewoblank))

最佳答案

您可以在str_count语句中使用stringr中的ifelse()来检查一个单词名称;首先使用gsub从名称中删除点。

library(stringr)

NBData3$namewodot <- gsub("\\.", "", NBData3$Client.Name)
NBData3$oneword <- ifelse(str_count(NBData3$namewodot , '\\w+') == 1, TRUE, FALSE)


#               Client.Name         namewodot oneword
# 1             Preety ..               Preety   TRUE
# 2   Sudalai Rajkumar S.    Sudalai Rajkumar S FALSE
# 3        Parvathy M. S.          Parvathy M S FALSE
# 4 Navaraj Ranjan Arthur Navaraj Ranjan Arthur FALSE

10-08 07:36