在 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。关于 tidyverse
和 stringr
的任何建议?
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)
我想在 .
和 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。关于 tidyverse
和 stringr
的任何建议?
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)