在R中删除可变长度的空格

时间:2019-07-16 23:02:15

标签: regex string rstudio

我有一列产品,在产品说明中的字符串之间有可变长度的空白。

以下是其中一种产品的示例:

SELECT a.id, a.name, count(a.letter) letter_count, avg(a.number) avg_number
FROM( SELECT   
t1.id, 
t1.name, 
t3.letter, 
t2.number--,  
FROM 
table1 t1

INNER JOIN 
table2 t2
ON t2.t1_id = t1.id

INNER JOIN 
table3 t3
ON t3.t1_id = t1.id
    AND t3.letter IN ('a', 'b', 'c')

GROUP BY
t1.id,  t1.name,  t3.letter, t2.number) a GROUP BY id, a.name

ORDER BY
letter_count DESC,
avg_number DESC

我希望字符串看起来像这样,其中字符串之间只有一个空格:

“这是产品列中的产品”

这可以实现

1 个答案:

答案 0 :(得分:1)

要替换任何重复的空格\\s(连续多个),请在有两个或多个空格\\s{2,}的任何时间匹配,并仅用一个空格替换。 {2,}表示匹配重复大于2。我们可以设置{2,7}这样的最大重复次数。

gsub("\\s{2,}", " ", "string   with many    spaces")

要对列名执行此操作,只需将要替换的字符串替换为colnames(df)