r - 如何从字符串中删除unicode <U + 00A6>?

标签 r regex gsub

我有一个像这样的字符串:

q <-"<U+00A6>  1000-66329"

我想删除<U+00A6>并仅获取1000 66329

我尝试使用:
gsub("\u00a6"," ", q,perl=T)

但这并没有删除任何内容。我应该怎么做gsub才能只获得1000 66329

最佳答案

I just want to remove unicode <U+00A6> which is at the beginning of string.



然后,您不需要gsub,可以将sub"^\\s*<U\\+\\w+>\\s*"模式一起使用:
q <-"<U+00A6>  1000-66329"
sub("^\\s*<U\\+\\w+>\\s*", "", q)

模式详细信息:
  • ^-字符串
  • 的开始
  • \\s*-零个或多个空格
  • <U\\+-文字字符序列<U+
  • \\w+-1个或多个字母,数字或下划线
  • >-文字>
  • \\s*-零个或多个空格。

  • 如果还需要用空格替换-,请添加|-替代品并使用gsub(因为现在我们希望多次替换,并且替换必须是一个空格-akrun's answer中也是如此):
    trimws(gsub("^\\s*<U\\+\\w+>|-", " ", q))
    

    R online demo

    关于r - 如何从字符串中删除unicode <U + 00A6>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39993715/

    相关文章:

    r - 删除矩阵中的行

    java - 如何在正则表达式中定位行尾?

    java - 基于整数定界符在java中拆分字符串

    linux - 在第一个匹配项(而非最后一个匹配项)中删除第 N 列中特定数字之前的所有字符

    r - 使用 sprintf 打印换行符 - Shiny

    r - 在包中使用 cbind、rbind 和 s4 类的正确方法

    r - 使用分离函数和变异函数

    c# - 搜索带有 xml 命名空间前缀 C# 的 XML 元素

    r - 通过计算特定字符来对字符串进行分组

    r - 数据框 R 中的 Gsub 撇号