快速从字符串替换正则表达式\\ + n

时间:2020-10-16 10:50:02

标签: swift regex

我要删除每个以一个或多个\开头并以n开头的字符串。 例如: 输入:{\n\n abc \\nb\\\ncc} 预期输出:{ abc bcc} 在javascript中,它可以与regex /\\+n/g 但这并不迅速:

str.replacingOccurrences(of: "\\+n", with: "", options: .regularExpression)

1 个答案:

答案 0 :(得分:1)

要删除前面包含一个或多个反斜杠的所有n以及前面带有任意反斜杠的所有换行符,可以使用

#"\\+n|\\*\n"#

请注意,双引号前后的#表示文字是原始字符串文字,其中反斜杠被视为文字反斜杠,并且不形成字符串转义序列,例如\n,{{1 }},\t

这里,图案表示

  • \r-一个或多个反斜杠,后跟\\+n
  • n-或
  • |-零个或多个反斜杠,后跟换行符。

请注意,\\*\n是与换行符匹配的正则表达式转义符,它不是LF \n字符。