我正在尝试在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(\\.)?", "")
如果您不想在一开始就专门匹配
X
或X.
,请从上面的示例中删除^
以使其在单词中的任何位置匹配。
关于正则表达式删除字母和点的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49933410/