Расщепление строки пробелом в R - PullRequest
1 голос
/ 14 апреля 2020

Допустим, у меня есть строка ниже -

Str = "15 1,270.00 19050 104.77 40.36 2020070 Rolling IN303028 - 63965276"

Теперь я хочу разбить строку выше на основе space, однако она не должна разбивать последнюю фразу, т.е. 'IN303028 - 63965276'. Поэтому я попытался использовать -

strsplit(Str, " ")

Но это также разбивает последнюю фразу. Есть ли способ расщепления по space, но исключая шаблон 'IN303028 - 63965276', т. Е. Если два последовательных spaces содержат hyphen, то следует исключить эту часть.

Любой указатель будет высоко оценен.

Спасибо,

1 Ответ

4 голосов
/ 14 апреля 2020

Мы могли бы сделать регулярное выражение для проверки пробелов после символа, которые не являются - ([^-]), а символы после пробелов не являются -

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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...