删除r中的最后一个特殊字符

时间:2017-08-01 13:53:50

标签: r regex

我有正则表达式,用15个字符分隔单词后面的转义字符(\ n)。如果只有一个字符的结尾(下面的示例字符串以括号结尾),我需要从字符串中删除最后一个特殊字符。

m <- gregexpr(pattern = paste("(.{1,",15,"}\\b|.{",1,"})",sep = ""), text = txt, perl = TRUE)
split_txt = trimws(unlist(regmatches(x = txt, m = m)))
paste(split_txt, collapse = "\n")

这导致:

Client News V2\n(design, AI\n)

这应该是必需的输出:

Client News V2\n(design, AI)

有一种简单的方法可以做到这一点吗?非常感谢提前。

1 个答案:

答案 0 :(得分:1)

您可以将sub与regex \ n(。)$ 一起使用,它会捕获新行字符后面的最后一个字符,并用它替换最后两个字符(即删除最后一个新字符)行字符,如果后面只跟着另一个字符):

s = "Client News V2\n(design, AI\n)"
sub("\n(.)$", "\\1", s)
# [1] "Client News V2\n(design, AI)"