提取句子字符串中最後一個單詞的最優雅方式是什麼?提取字符串中的最後一個單詞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 –