提取句子字符串中最后一个单词的最优雅方式是什么?提取字符串中的最后一个单词R
句子不以“。”结尾。 单词由空白分隔。
sentence <- "The quick brown fox"
TheFunction(sentence)
应该返回:“狐狸”
我不想使用包,如果一个简单的解决方案是可能的。 如果存在一个基于软件包的简单解决方案,那也很好。
提取句子字符串中最后一个单词的最优雅方式是什么?提取字符串中的最后一个单词R
句子不以“。”结尾。 单词由空白分隔。
sentence <- "The quick brown fox"
TheFunction(sentence)
应该返回:“狐狸”
我不想使用包,如果一个简单的解决方案是可能的。 如果存在一个基于软件包的简单解决方案,那也很好。
tail(strsplit('this is a sentence',split=" ")[[1]],1)
基本上由@阅兵式O.
我很难用'[['雅致:)'来调用方法,但这可能是我个人对R列表的感觉 –
x <- 'The quick brown fox'
sub('^.* ([[:alnum:]]+)$', '\\1', x)
这将在字符串结束之前捕获最后一串数字和字符。
您还可以使用regexec
和regmatches
功能,但我发现sub
清洁:
m <- regexec('^.* ([[:alnum:]]+)$', x)
regmatches(x, m)
更多信息,请参见?regex
和?sub
。
要在包装上的建议,这是我能想到的最简单的答案:
library(stringr)
x <- 'The quick brown fox'
str_extract(x, '\\w+$')
#[1] "fox"
只是为了完整性:库stringr包含正是这个问题的一个函数。
library(stringr)
sentence <- "The quick brown fox"
word(sentence,-1)
[1] "fox"
另一个包装的选择是从stringi
包
library(stringi)
stri_extract_last_words("The quick brown fox")
# [1] "fox"
功能stri_extract_last_words()
还除去可能在句子的结尾任何标点符号。
stri_extract_last_words("The quick brown fox? ...")
# [1] "fox"
给我们提供一些关于你的数据结构的细节,否则,我们只是在试图帮助你时在暗处刺痛。 – A5C1D2H2I1M1N2O1R2T1
你有什么尝试?我想你可以扭转字符串并用'“”分开。 –
相关:http://stackoverflow.com/questions/13093931/r-remove-last-word-from-string –