r语言 - 在两个字符串之间添加空格



我想在.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来添加空格。对于tidyversestringr有什么建议吗?

in base R:

df$name1 <- gsub("(\.)([0-9])", "\1 \2", df$name1)
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 .)
)
)

相关内容

  • 没有找到相关文章

最新更新