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

mrp*_*ter 10 regex r 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"

任何帮助将不胜感激.

Dee*_*ran 9

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

请阅读\\此处的需求:使用双反斜杠逃生

像这样:

txt = c("X.4.89294e-0", "X4.89294e-0")
str_replace(txt, "^X(\\.)?", "")
Run Code Online (Sandbox Code Playgroud)

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