Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 分隔符第二次出现时的Strsplit()_Regex_R - Fatal编程技术网

Regex 分隔符第二次出现时的Strsplit()

Regex 分隔符第二次出现时的Strsplit(),regex,r,Regex,R,我试图在第二次出现字符x之前,按字符串中第二次出现的字符分割返回字符串中的子字符串 对于字符串: s单向使用strsplit 单向使用strsplit 您可以使用sub: 您可以使用sub: 不知道这是否是最简单的方法,但为什么不按分隔符拆分,然后用相同的分隔符将第一个添加到一起。v=strsplitword,split=“|”,fixed=true a、b和c有什么特征?它们总是相同的长度吗?a、b、c是任意长度的字符串。我不知道这是否是最简单的方法,但为什么不用分隔符拆分,然后用相同的分隔符

我试图在第二次出现字符x之前,按字符串中第二次出现的字符分割返回字符串中的子字符串

对于字符串:

s单向使用strsplit

单向使用strsplit

您可以使用sub:

您可以使用sub:


不知道这是否是最简单的方法,但为什么不按分隔符拆分,然后用相同的分隔符将第一个添加到一起。v=strsplitword,split=“|”,fixed=true a、b和c有什么特征?它们总是相同的长度吗?a、b、c是任意长度的字符串。我不知道这是否是最简单的方法,但为什么不用分隔符拆分,然后用相同的分隔符将第一个字符串加在一起呢。v=strsplitword,split=“|”,fixed=true a、b和c有什么特征?它们总是相同的长度吗?a,b,c是任意长度的字符串,你可能想把它们写成pat,或者你可能想把它们写成pat
 return_topic<-function(s)
 {
   if (length(grep("_",s))>0)
     { return (unlist(strsplit(s,"_"))[1])}
    else return  (" ")

  }


> return_topic("a_b_c")
[1] "a"
s <- c('a_b_c', '_b', '_bc_', 'abc__')
sapply(strsplit(s, '^[^_]*?[_][^_]*?(*SKIP)(*F)|_', perl=TRUE),`[`,1)
#[1] "a_b"  "_b"   "_bc"  "abc_"
sub("(.*?_.*?)_.*", "\\1", s)
# [1] "a_b"