在 R 中删除括号 "("之前的空格

标签 r regex whitespace gsub space

我有将近 100,000 行已转换为数据框的抓取数据。一列是一串文本字符,但运行异常。在下面的示例中,有文本,其中包含要删除的括号信息,并且我还想删除“(c)”。然而,前面的空格在技术上不是空格(它被认为是空格吗?)。
我不确定如何在此处重现该示例,因为当我复制/粘贴记录时,它被视为正常且有效,但在抓取的数据中,它没有。肠道检查是计算空格,它给了我 4,这意味着 ( 前面的空格不是真正的空格。我不知道如何删除它!
我通常会运行的代码如下。同样,以这种方式工作,但不适用于我的抓取数据。

test<-c("Barry Windham (c) & Mike Rotundo (c)")
test<-gsub("[ ][(]c[)]","",test)

最佳答案

您可以考虑使用:

test<-c("Barry Windham (c) & Mike Rotundo (c)")
gsub("(*UCP)\\s+\\(c\\)", "", test, perl=TRUE)
# => [1] "Barry Windham & Mike Rotundo"
an online R demo
详情
  • (*UCP) - 使 PCRE 正则表达式中的所有速记字符类(它是 PCRE 由于 perl=TRUE )Unicode 感知
  • \\s+ - 任何一个或多个 Unicode 空格
  • \\(c\\) - (c)子串。

  • 如果您需要保留(c) ,捕获它并在替换中使用反向引用:
    gsub("(*UCP)\\s+(\\(c\\))", "\\1", test, perl=TRUE)
    

    关于在 R 中删除括号 "("之前的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64622257/

    相关文章:

    Python 3 - 将楼梯从右对齐转换为左对齐,由#符号和空格组成

    r - 投资决策 : NPV, IRR,R中的PB计算

    r - 使用 MuMIn r.squaredGLMM 计算泊松 GLMM 的 R 平方

    r - 来自随机正态分布的平行样本——不是更快吗?

    python - 与 Python 中包含空格的术语一起使用的标记化?

    java - 打印没有额外空白或线条的二维数组

    r - 为什么 xpath 会再次找到排除的节点?

    php - HTML 表格转数组 PHP

    php - 在 PHP 中合并正则表达式

    python - python 中的匹配字符串模式