Удаление множественных пробелов и пробелы, используя gsub
Как удалить несколько пробелов и конечных пробелов, используя только 1 gsub? Я уже сделал эту функцию trim <- function(x) gsub(' {2,}',' ',gsub('^ *| *$','',x))
, но я пытаюсь переписать ее только с 1 gsub.
На самом деле, я хочу lean, как сопоставить что-то, основанное на том, что после/до него, с gsub. В этом примере мне нужно сопоставить все пространства, которые предшествуют одному пространству, и заменить их на "
1 ответ:
Используйте положительный lookbehind, чтобы увидеть, предшествует ли текущее пространство пространству:
^ *|(?<= ) | *$
Смотрите его здесь в действии: http://regex101.com/r/bJ1mU0