"|"符号在正则表达式中可以表示为“或”的含义,因此当字符串中出现该字符,而我们还想要用该字符进行分隔时,需要注意使用转义字符,且为两个斜杠。
\\
gene<-str_split_fixed(gene_name,"\\|",n=2)
gene
[,1] [,2]
[1,] "ENSG00000000003" "TSPAN6"
[2,] "ENSG00000000005" "TNMD"
[3,] "ENSG00000000419" "DPM1"
[4,] "ENSG00000000457" "SCYL3"
[5,] "ENSG00000000460" "C1ORF112"
[6,] "ENSG00000000938" "FGR"
如果使用不加转义字符,那么得到的结果又会是什么样呢?——默认全部分开。
gene<-str_split(gene_name,"|")
head(gene)
[[1]]
[1] "" "E" "N" "S" "G" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "3" "|" "T" "S" "P" "A" "N"
[23] "6" ""
[[2]]
[1] "" "E" "N" "S" "G" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "5" "|" "T" "N" "M" "D" ""
注意,其他有特殊意义的字符,如“?”、“*”、“$”等,当做分隔符时,也同理这样使用。