首页 > 解决方案 > 您是否有想法从某个点(例如 3. 空格)删除,直到 r 中的文本结束?

问题描述

对于一个"for delete 3. space until end of sentence."字符串,我试图得到for delete 3.结果

clear_brand_name <- gsub("^\\s[3]", "", brand_name)

这不会产生预期的结果。

标签: rregexgsub

解决方案


您可以使用

clear_brand_name <- sub("^\\s*(\\S+(?:\\s+\\S+){2}).*", "\\1", brand_name)

请参阅正则表达式演示sub将查找并替换符合模式的第一个匹配项。

图案细节

  • ^- 字符串的开始
  • \\s*- 0+ 个空格
  • (\\S+(?:\\s+\\S+){2})- 第 1 组:
    • \\S+- 1+ 非空白字符
    • (?:\\s+\\S+){2}- 两次重复 1+ 空格,然后 1+ 非空格字符
  • .*- 字符串的其余部分。

整个匹配项(整个字符串)被替换为组 1 中的值,\1因为


推荐阅读