在 2 个字符串之间添加 space

add space between 2 strings

我想在 .number 之间添加 whitespace

我的例子如下

df <- data.frame(name1 = c("Acranthera sp.01", "Aglaia spectabilis (Miq.) S.S.Jain & Bennet", "Alyxia sp.11"))

df
                                       name1
1                            Acranthera sp.01
2 Aglaia spectabilis (Miq.) S.S.Jain & Bennet
3                                Alyxia sp.11

我想要的输出

                                       name1
1                            Acranthera sp. 01
2 Aglaia spectabilis (Miq.) S.S.Jain & Bennet
3                                Alyxia sp. 11

到目前为止,我只知道用str_pad加上space。关于 tidyversestringr 的任何建议?

mutate(
  df, 
  name1 = str_replace(
    name1, 
      "\.(\d)", # Match a literal . followed by a digit (capturing group 1)
      ". \1"  # Replace by a ., space and the content of the first capturing group (the digit following the .)
  )
)

在基数 R 中:

df$name1 <- gsub("(\.)([0-9])", "\1 \2", df$name1)