【问题标题】:regex remove punct removes non-punctuation characters in Rregex remove punct 删除 R 中的非标点符号
【发布时间】:2015-05-02 08:17:25
【问题描述】:

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

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

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

【问题讨论】:

    标签: regex r punctuation


    【解决方案1】:

    根据Regular Expressions as used in R

    某些命名的字符类别是预定义的。他们的 解释取决于语言环境(参见locales);解释 下面是 POSIX 语言环境的。

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

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

    Sample program 输出:

    [1] ""
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-13
      • 2012-01-31
      • 1970-01-01
      • 1970-01-01
      • 2014-12-08
      相关资源
      最近更新 更多