正则表达式删除字母和点的组合

标签 r regex str-replace

我正在尝试在R中使用正则表达式删除文本-“X”或“X”。 -从数字的前面开始。我是正则表达式的新手,而且很难使它正常工作。我已经尝试过X和的每种组合。有或没有我能想到的转义字符,包括:

  • str_replace("X.4.89294e-05", "X.",'')结果"4.89294e-05",但由于str_replace("X4.89294e-05", "X.",'')结果失败".89294e-05"
  • str_replace("X.4.89294e-05", "[X.]",'')结果".4.89294e-05"
  • str_replace("X.4.89294e-05", "[X/.?]",'')结果".4.89294e-05"
  • str_replace("X.4.89294e-05", "[X//.?]",'')结果".4.89294e-05"
  • str_replace('X.4.89294e-0','X/.{0,1}','')结果"X.4.89294e-0"
  • str_replace('X.4.89294e-0','[X/.{0,1}]','')结果".4.89294e-0"

  • 任何帮助将不胜感激。

    最佳答案

    .必须转义。在R中,您可以通过在\\运算符之前添加.来实现。

    在此处阅读对\\的需求:Escape with a double backslash

    像这样:

    txt = c("X.4.89294e-0", "X4.89294e-0")
    str_replace(txt, "^X(\\.)?", "")
    

    如果您不想在一开始就专门匹配XX.,请从上面的示例中删除^以使其在单词中的任何位置匹配。

    关于正则表达式删除字母和点的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49933410/

    相关文章:

    JavaScript 正则表达式 : match and identify alternative delimiters and capture surrounding text

    Javascript 正则表达式将单斜杠替换为双斜杠?

    Python-仅从句子中删除单词

    r - 线性预测器 - 有序概率(ordinal,clm)

    r - 将 df 转换为协作网络的边 df

    r - 计算最小 s-t 切割尚未在 igraph 中实现

    regex - 用于验证 SQL Server 表名的正则表达式

    c# - 用于从 Kubernetes Pod 名称解析部署或作业名称的正则表达式

    php - 合并两个函数,str_replace?

    r - 如何将 R 连接到 hadoop 上正在运行的 H20 集群