用空格替换单词分隔符

时间:2015-01-21 18:41:31

标签: r string character gsub

我只想用空格替换一些单词分隔符。有什么暗示吗?转换为字符后也不起作用。

df <- data.frame(m = 1:3, n = c("one.one", "one.two", "one.three"))

> gsub(".", "\\1 \\2", df$n)
[1] "       "   "       "   "         "
> gsub(".", " ", df$n)
[1] "       "   "       "   "         "

4 个答案:

答案 0 :(得分:4)

您无需使用正则表达式进行一对一字符转换。您可以使用chartr()

df$n <- chartr(".", " ", df$n)
df
#   m         n
# 1 1   one one
# 2 2   one two
# 3 3 one three

答案 1 :(得分:2)

你可以尝试

gsub("[.]", " ", df$n)
#[1] "one one"   "one two"   "one three"

答案 2 :(得分:2)

如果您正在寻找完全匹配并且不需要正则表达式,请设置fixed = TRUE

gsub(".", " ", df$n, fixed = TRUE)
#[1] "one one"   "one two"   "one three"

对于这种情况,这也比使用适当的正则表达式更快。<​​/ p>

答案 3 :(得分:1)

我建议你这样做,

gsub("\\.", " ", df$n)

OR

gsub("\\W", " ", df$n)

\\W匹配任何非单词字符。 \\W+匹配一个或多个非字字符。如有必要,请使用\\W+

相关问题