strsplit上没有引号的句点

时间:2018-05-23 15:25:02

标签: r regex

将文字转换为data.table::tstrsplit的列时,我想在所有未加入双引号.的句点"上拆分。这项任务归结为这种情况:

test_string <- c('foo.bar.baz', 'fizz.buzz."ba.zz"')
strsplit(test_string, "...", perl = TRUE)

导致:

[[1]]
[1] "foo" "bar" "baz"

[[2]]
[1] "fizz" "buzz" "ba.zz"

编辑:基于链接的副本,我能够得到这个:

R> strsplit(test_string, '\\.(?=(?:[^\\"]*\\"[^\\"]*\\")*[^\\"]*$)', perl = TRUE)
[[1]]
[1] "foo" "bar" "baz"

[[2]]
[1] "fizz" "buzz" "\"ba.zz\""

0 个答案:

没有答案