我有一个从excel文件中读取的大量单词。其中一些记录以空格或"结尾。"。期。只有在那些情况下,我才需要削减这些字符。
示例:
"depresion" "tristeza."
"nostalgia" "preocupacion."
"enojo." "soledad "
"frustracion" "desesperacion "
"angustia." "desconocidos."
请注意,某些单词在没有"的情况下正常结束。"或" "
有办法吗?
我有这个
substr(conceptos, 1, nchar(conceptos)-1))
测试最后一个字符(conceptos是这个长矢量)
感谢您的任何建议,
答案 0 :(得分:4)
我们可以使用sub
匹配零个或多个.
或空格,并将其替换为空白(""
)
sub("(\\.| )*$", "", v1)
#[1] "depresion" "tristeza" "nostalgia" "preocupacion" "enojo"
#[6] "soledad" "frustracion" "desesperacion"
#[9] "angustia" "desconocidos"
v1 <- c("depresion","tristeza.","nostalgia","preocupacion.",
"enojo.","soledad ","frustracion","desesperacion ",
"angustia.","desconocidos.")
答案 1 :(得分:4)
正则表达式对此有好处:
library(stringr)
x = c("depresion", "tristeza.", "nostalgia", "preocupacion.",
"enojo.", "soledad ", "frustracion", "desesperacion ",
"angustia.", "desconocidos.")
x_replaced = str_replace(x, "(\\.|\\s)$", "")
模式(\\.|\\s)$
将匹配.
或发生在字符串末尾的任何空格。
答案 2 :(得分:-3)
试试这个:
iif((mid(trim(conceptos),Len(conceptos),1)==“。”)?substr(conceptos,1,nchar(conceptos)-1)):trim(conceptos))