从 R 中的字符串压缩多个换行符 \n 和制表符 \t

Compressing multiple line breaks \n and tabs \t from a string in R

我尝试使用

gsub('(\t\n)+','\n',.) 

函数将多个\n\t压缩成只有\n,但是没有用。

我对正则表达式有点困惑,所以有人可以帮助我吗?请在下面找到 R 控制台屏幕截图:

您可以使用

gsub("\t*\n[\t\n]*", "\n", x)

这将用单个换行 (LF) 字符替换所有制表符和换行符序列,其中一个换行符是强制性的。

看到一个 R demo online:

x <- "A\tB\t\n\n\n\nD\tF"
gsub("\t*\n[\t\n]*", "\n", x)
## => [1] "A\tB\nD\tF"

详情:

  • \t* - 零个或多个标签
  • \n - LF,换行符
  • [\t\n]* - 零个或多个 TAB 或 LF 字符。

如果您需要将 CR 作为可选字符包含在内,请使用

gsub("[\t\r]*\n[\t\r\n]*", "\n", x)

如果您的问题是将连续的“\n”和“\t”(可能混合在一起)转换为 "\n",则以下方法可行。

gsub("(\t|\n)+","\n",inputStr)

如果应该包含“\t”(真正的 TAB 字符),则

gsub("(\t|\t|\n)+","\n",inputStr)