gsubfn
При этом используется только простой шаблон, который соответствует символьным строкам, представляющим число с десятичными знаками, преобразующим каждое такое совпадение в числовое и использующее sprintf
для форматирования с двумя десятичными знаками.
library(gsubfn)
gsubfn("\\d+\\.\\d+", ~ sprintf("%.2f", as.numeric(x)), s)
## [1] "FTMS + c NSI Full ms [364.00-391.00]"
Base R
Базовым решением будет сопоставление сохраняемой части с последующими оставшимися цифрами, а затем сохранение только сохраняемой части.
gsub("(\\d+\\.\\d{2})\\d+", "\\1", s)
## [1] "FTMS + c NSI Full ms [364.00-391.00]"
Примечание
Ввод:
s <- "FTMS + c NSI Full ms [364.0000-391.0000]"