说我有这个字符串:
str <- "a//b/c"
Run Code Online (Sandbox Code Playgroud)
期望输出:
c("a//b", "c").
Run Code Online (Sandbox Code Playgroud)
所以我想在 / 上拆分,而不是在 // 上拆分。
我试过的:
按照/sf/answers/512196121/我试过:
strsplit(split = "[[]^//[]]|/", x = "a//b/c", perl = TRUE)
Run Code Online (Sandbox Code Playgroud)
(对于非 R 用户:需要转义 R 中的特殊字符,因此“[”变为“[[]”,不确定这在所有其他语言中是否常见。)
您可以使用
strsplit("a//b/c", "(?<!/)/(?!/)", perl=TRUE)
Run Code Online (Sandbox Code Playgroud)
该(?<!/)/(?!/)模式意味着:
(?<!/) - 前面没有紧跟的位置 //- 一个/字符(?!/) - 没有立即跟随的位置 /