首页 > 解决方案 > 如何使用正则表达式从字符向量中删除换行标记

问题描述

如何\n使用正则表达式从字符串中删除换行标记?

我尝试使用 stringr::str_replace(),但失败了。

例如,我有字符串:

  text= "de sentir sua atitude\n\n  ela merece\n\n  ele não dos cabelos\n\n  você vai te puxo pra caralho só no corpo nele e berrar que não sei dizer alguma coisa\nem precisar ser tão bonita o meio das outras\n\n  no chão.\nespecialmente quando ele levou tanto buscava. minha mãe dele guardada na banheira\n\n  \n\n  e eu te amar\n\n   me desapaixonar por causa da festa\n\n  você ama e\nde fato\nte amar é como um.\nque possamos nada especial acho que você imagina a conexão ou onde a independência aqui bocas nunca teve o amor com esta é seu ambiente\nnão"

我尝试使用[:punct:]n, 和\\n{1,},但是当我遇到替换函数时,所有这些都失败了:

stringr::str_replace(text, '([:punct:]n|\\n{1,})', ' ')

标签: rregexstringr

解决方案


我们可以使用str_remove_allwhich 会使其紧凑,而不是使用 with 中的替换str_replace_all参数""

stringr::str_remove_all(text, '([[:punct:]]|\\n{1,})')

注意:str_replace仅替换第一个实例且不超过一个


推荐阅读