У вас есть идея удалить из определенной точки (например, 3. пробел) до конца в тексте в г? - PullRequest
1 голос
/ 28 марта 2019

Для строки "for delete 3. space until end of sentence." я пытаюсь получить for delete 3. в результате с

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

Это не дает ожидаемого результата.

1 Ответ

1 голос
/ 28 марта 2019

Вы можете использовать

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

См. Демоверсию regex . sub найдет и заменит первое вхождение, которое соответствует шаблону.

Детали шаблона

  • ^ - начало строки
  • \\s* - 0+ пробелов
  • (\\S+(?:\\s+\\S+){2}) - Группа 1:
    • \\S+ - 1+ непробельных символов
    • (?:\\s+\\S+){2} - два повторения 1+ пробелов и затем 1+ непробельных символов
  • .* - остаток строки.

Все совпадение (вся строка) заменяется значением в группе 1 из-за \1.

...