r - 字符串:提取想要的字符而不是删除不需要的字符

标签 r string char

我在想,如果在 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/

相关文章:

arrays - 如何从 &str 转换为 [i8; 256]

R 通过 R_LIBS 设置库路径

r - 使用R操作数据帧: each row of a column to separate columns

r - 我想应用两个函数,一个是 block 对角线上的函数,另一个是数据框中非对角线元素上的函数

r - 老鼠 : splitting imputed data for further analysis

c - 字符指针数组打印垃圾

java - 使用存储在 Java 内存中的 tostring 方法创建的字符串对象在哪里?

c++ - 将 std::string 转换为 char 数组

java - 如何用Java中的空格替换字符串中的奇数/偶数字符?

在 char* 数组中查找 char* 类型的 c++ 程序