考虑到多组模式,如何在该模式下的特定组上分割字符串?

问题描述 投票:0回答:1

我有一个要用于分割向量的模式:"([^ ])(,)([^ ])"。但是向量应在第二组(,)上分割,使第一和第三项分别与第一项和第二项分开。

我试图添加非捕获模式?:,但似乎不起作用。

my_string <- 
  "FIRST item,SECOND, item,third ITEM,FOURTH item"

strsplit(my_string, "(?:[^ ])(,)(?:[^ ])")[[1]]

我得到"FIRST ite" "ECOND, ite" "hird ITE" "OURTH item",我需要一个模式来获得"FIRST item" "SECOND, item" "third ITEM" "FOURTH item"

r regex pcre
1个回答
1
投票

我使用]找到了解决方案>

stringr::str_split(my_string, "(?<=[^ ])(,)(?=[^ ])")
© www.soinside.com 2019 - 2024. All rights reserved.