您是否有想法从某个点(如 3.space)删除直到 r 中文本的结尾?

Do you have an idea to delete from a certain point (like 3. space) until end in the text in r?

对于 "for delete 3. space until end of sentence." 字符串,我试图通过

得到 for delete 3. 结果
clear_brand_name <- gsub("^\s[3]", "", brand_name)

这没有产生预期的结果。

您可以使用

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

参见regex demosub 将查找并替换符合模式的第一个匹配项。

图案详情

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

由于 .

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