如何有选择地从符合模式的字符串中删除字符?
我希望删除 7 个数字和前面的冒号。
例如:
"((Northern_b:0.005926,Tropical_b:0.000000)N19:0.002950"
应该变成
"((Northern_b,Tropical_b)N19"
最佳答案
x <- "((Northern_b:0.005926,Tropical_b:0.000000)N19:0.002950"
gsub("[:]\\d{1}[.]\\d{6}", "", x)
gsub
函数执行字符串替换并替换字符串中找到的所有匹配项(请参阅?gsub
)。如果您想要一个更友好的名称,另一种选择是 stringr
包中的 str_replace_all
。
正则表达式使用 \\d{n}
搜索来查找数字。整数表示要查找的位数。因此 \\d{1}
查找长度为 1 的一组数字。\\d{6}
查找长度为 6 的一组数字。
关于r - 使用 R 有选择地删除遵循模式的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31807433/