我有一些文字:

text="blablabla 400ft blablabla"

我想得到:
"blablabla 400 ft blablabla"

命令:
unlist(strsplit(text,split="[^0-9]+"))
gsub("[^0-9]+", " ", text, fixed = FALSE)

只返回400。

我想对gsub说:将您在文本中找到的每个数字替换为相同的数字,并在开头和结尾处添加空格。我怎样才能做到这一点?

最佳答案

尝试

 gsub('([0-9]+)([^0-9]+)', '\\1 \\2', text)
 #[1] "blablabla 400 ft blablabla"

也适用于多个实例
 text1 <- paste(text, text)
 gsub('([0-9]+)([^0-9]+)', '\\1 \\2', text1)
 #[1] "blablabla 400 ft blablabla blablabla 400 ft blablabla"

10-06 09:35