R - gsub 从字符串中删除标点符号和数字

标签 r string

我正在尝试从 <U+200B>Chandler 中删除标点符号和数字成为Chandler .这是我目前正在尝试的:

df$city <- gsub("[[:punct:]]|[[:digit:]]", "", df$city)

但是,它不会更改“df”中“城市”列中的单元格。当我搜索 typeof(df) 时,我得到“列表”。这可能与它有关?

如有任何帮助,我们将不胜感激。

最佳答案

首先是第二个问题,tyepof() 将始终为数据框返回list,因为data frames are really just lists of equal length vectors .

对于第一个问题,您的数据中似乎有一些 Unicode 编码的字符。处理这些问题的一种好方法是转换它们,例如:

df$city <- iconv(df$city, 'utf-8', 'ascii', sub = '')

也可以gsub 输出十六进制代码中的字符,如下所示:

df$city <- gsub('\u200B', '', df$city)

甚至一个范围:

df$city <- gsub('[\u2000-\u20ff]', '', df$city)

但我真的认为 iconv 方法是可行的方法。在这种用法中,它只会删除字符而不是渲染它,但这似乎就是您想要的。

关于R - gsub 从字符串中删除标点符号和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54719478/

相关文章:

r - 错误 1 ​​:N : NA/NaN argument

R:将日期向下舍入到一周的第一天

r - 是否有 Rstudio 键盘快捷键来打开包含您编写的函数的源代码的文件?

java - 我如何在java中递归地重新排列字符串

c - fgets() 没有扫描我想要的字符串数

r - 在R中使用Plotly旋转标签

r - 使用 data.table 和 RJSONIO/jsonlite - 结果被转置

Javascript 迭代 Json 数组获取值

r - 在 R 中解码字符串向量

C++ vector 迭代 : const vs. const auto 与 no const