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