Мы могли бы сделать регулярное выражение для проверки пробелов после символа, которые не являются -
([^-]
), а символы после пробелов не являются -
strsplit(Str, "(?<=[^-]) (?=[^-])", perl = TRUE)
#[[1]]
#[1] "15" "1,270.00" "19050" "104.77" "40.36" "2020070"
#[7] "Rolling" "IN303028 - 63965276"
Или используйте *SKIP
*FAIL
, чтобы не учитывать пробелы, в которых есть -
strsplit(Str, " - (*SKIP)(*F)| ", perl = TRUE)
#[[1]]
#[1] "15" "1,270.00" "19050" "104.77" "40.36" "2020070"
#[7] "Rolling" "IN303028 - 63965276"