MYa*_*208 2 string r stringr stringi tidyverse
我想在字符串中的三个字符后添加空格。我使用了以下代码,效果很好。我想知道是否还有其他简单的方法来完成相同的任务
library(stringi)
Test <- "3061660217"
paste(
stri_sub(str = Test, from = 1, to = 3)
, stri_sub(str = Test, from = 4)
, sep = " "
)
[1] "306 1660217"
Run Code Online (Sandbox Code Playgroud)
使用基本的regex和stringr:
library(stringr)
str_replace(Test, pattern = "(.{3})(.*)", replacement = "\\1 \\2")
Run Code Online (Sandbox Code Playgroud)
输出:
"306 1660217"
Run Code Online (Sandbox Code Playgroud)
R同样的方法也适用于基础:
gsub(Test, pattern = "(.{3})(.*)", replacement = "\\1 \\2")
Run Code Online (Sandbox Code Playgroud)
解释:
(.{3})- 找到任意3个字符(.*)- 查找任意字符0次或多次\\1- 反向引用(.{3})\\2- 反向引用(.*)\\1和之间的空格\\2是您要添加的空格