我有正则表达式,用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)
有一种简单的方法可以做到这一点吗?非常感谢提前。
答案 0 :(得分:1)
您可以将sub
与regex \ n(。)$ 一起使用,它会捕获新行字符后面的最后一个字符,并用它替换最后两个字符(即删除最后一个新字符)行字符,如果后面只跟着另一个字符):
s = "Client News V2\n(design, AI\n)"
sub("\n(.)$", "\\1", s)
# [1] "Client News V2\n(design, AI)"