我在想,如果在 R 中,它们是一个像 KeepChar("abcde....xyz", some_text)
这样的函数,您可以用您想要保留的所有所需字符提供并返回只留下所需字符的字符串。此处该函数仅将字母表中的字母保留为小写。我想要看起来像这样的东西:
some_text <- "Hel-_l0o W#oRr^ld"
some_text <- KeepChar("abcdefghijklmnopqrstuvwxyz ", some_text)
some_text
> "hello world"
我觉得我目前使用的删除方法是 gsub("@\\w+", "", some_text)
, tm_map(some_text, stripWhitespace)
或str_replace_all(some_text,"[^[:graph:]]", "")
需要花费大量时间和编码行,并且始终存在忘记删除特定字符的风险,尤其是当您已经知道时正是您想要保留的内容。
为什么我问这个问题是因为我正在编写一个平台来处理来自各种来源(例如 twitter
)的文本的情感分析,并且我想确保不要忘记删除任何不需要的字符。
最佳答案
要在不使用正则表达式的情况下处理模式,我将尝试以下操作:
string <- "Hel-_l0o W#oRr^ld"
pattern <- "abcdefghijklmnopqrstuvwxyz"
KeepChar = function(pattern, string){
splitted_string <- unlist(strsplit(string, ""))
splitted_pattern <- unlist(strsplit(pattern, ""))
ids_string <- splitted_string %in% splitted_pattern
return(paste(splitted_string[ids_string], sep = "", collapse = ""))
}
some_text <- KeepChar(pattern = pattern, string = string)
关于r - 字符串:提取想要的字符而不是删除不需要的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35771231/