正则表达式捕获1个字符

时间:2018-09-30 12:13:37

标签: r regex

只要存在长度为1的英文字符,我都希望将其与前面的文本结合使用。

gsub('(.*)\\s+([a-zA-Z]{1})', "\\1\\2", 'Anti-Candida a ингибинов')

Anti-Candidaa ингибинов

对于下面的示例,它应该返回'Anti-Candida am ингибинов',因为'am'的长度为2。

gsub('(.*)\\s+([a-zA-Z]{1})', "\\1\\2", 'Anti-Candida am ингибинов')

1 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

\W+([a-zA-Z])\b

替换为\\1。这里的技巧是匹配单个字母后的单词边界。

Demo

只要在末尾添加\b,您的正则表达式也可以正常工作。