【问题标题】:Split string on delimiter, keeping delimiter before split在分隔符上拆分字符串,在拆分之前保留分隔符
【发布时间】:2018-06-08 09:37:53
【问题描述】:

问题R split on delimiter (split) keep the delimiter (split) 的明显扩展是: 如何拆分字符串,将分隔符保留在每个部分的开头?

x <- "What is this?  It's an onion.  What! That's| Well Crazy."

解决方案

unlist(strsplit(x, "(?<=[?.!|])", perl=TRUE))

给予:

"What is this?"    "  It's an onion." "  What!" " That's|" " Well Crazy."

而我正在寻找:

"What is this"    "? It's an onion" ".  What" "! That's" "| Well Crazy."

将积极的lookbehind改为积极的lookahead并不能解决问题。

【问题讨论】:

    标签: r


    【解决方案1】:

    我设法解决了这个问题,方法是使用积极的前瞻,然后是一个单词边界标记:

    x <- "What is this?  It's an onion.  What! That's| Well Crazy."
    strsplit(x, "(?=[?.!|].)\\b", perl=TRUE)
    
    [1] "What is this"     "?  It's an onion" ".  What"          "! That's"        
    [5] "| Well Crazy."
    

    Demo

    【讨论】:

      最近更新 更多