正则表达式删除punct删除R中的非标点字符

标签 regex r punctuation

在过滤和清理希伯来语文本时,我发现

gsub("[[:punct:]]", "", txt)

实际上删除了相关字符。该字符是“ק”,位于键盘上的“E”位置。有趣的是,R 中的 gsub 函数删除了“ק”字符,然后所有单词都变得困惑。有人知道为什么吗?

最佳答案

根据Regular Expressions as used in R :

Certain named classes of characters are predefined. Their interpretation depends on the locale (see locales); the interpretation below is that of the POSIX locale.

根据。到 POSIX 语言环境,[[:punct:]]应该捕获 ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ 。因此,您可能需要调整正则表达式以仅删除所需的字符:

txt <- "!\"#$%&'()*+,\\-./:;<=>?@[\\\\^\\]_`{|}~"
gsub("[\\\\!\"#$%&'()*+,./:;<=>?@[\\^\\]_`{|}~-]", "", txt, perl = T)

Sample program输出:

[1] ""

关于正则表达式删除punct删除R中的非标点字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30000002/

相关文章:

python - 在应用 nltk 的句子标记器而不是 Python 3.5.1 中的句子后获取字母表

r - 从文本中提取多个关键字并打印在数据框中

angularjs - Angular 无需重复 - 正则表达式

r - 如何将 GGRAPH 包安装到最新的 R (v.3.3.2)

r - R 中必要时矩阵未用 1 填充

search-engine - 是否有搜索引擎可以搜索您输入的确切单词,以及您输入它们的方式?

c# - 什么正则表达式将匹配不包括 HTML 标签内内容的文本?

python - 如何修改此正则表达式以在 Django 中接受此 URL?

r - 如何每月汇总每日数据,使用 dplyr 和 lubridate,只有每月少于 10 天是 NA?

regex - R - 使用正则表达式,在字符串中的第 n 个点之前设置位置并删除后面的内容