input <- c("Start>=8.5","Start< 14.5","x == 4","tmp >= 7","ff =11","x<=2") splitted<-strsplit(gsub("([^\\s<>=]*)\\s*(?=[><=]+)(.*)(?<=[><=])\\s*(.[^\\s<>=]*)", "\\1 \\2 \\3", input, perl=T), " ") splitted
Standard input is empty
[[1]] [1] "Start" ">=" "8.5" [[2]] [1] "Start" "<" "14.5" [[3]] [1] "x" "==" "4" [[4]] [1] "tmp" ">=" "7" [[5]] [1] "ff" "=" "11" [[6]] [1] "x" "<=" "2"