R语言 尝试从包含特殊字符的主字符串中提取子字符串

fhity93d  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(195)

我正在尝试从以下字符串中提取子字符串:

x <- "U1+ ^Eucalyptus baxteri s.s.,Eucalyptus viminalis subsp. cygnetensis\\^tree\\7\\i;U2 Acacia melanoxylon,Banksia marginata\\tree\\7\\i;M1 ^Leucopogon parviflorus,Spyridium parvifolium,Leucopogon lanceolatus var. lanceolatus\\^shrub\\4\\r;M2 Xanthorrhoea minor subsp. lutea,Pteridium esculentum,Billardiera scandens\\fern,grass-tree,vine\\3\\i;G1 ^Veronica calycina,Brunonia australis,Deyeuxia quadriseta,Dianella revoluta var. revoluta s.l.,Dichelachne crinita\\rush,^forb,tussock grass,other grass,sedge\\2\\c;G2 Lagenophora stipitata,Luzula meridionalis,Lomandra nana,Pimelea humilis,Acrotriche serrulata\\rush,heath shrub,forb,vine,sedge\\1\\i"

我希望提取6\c作为\^tree之后的一个子集,但是,我面临着使用sub()函数的问题,这可能与主字符串中存在的特殊字符有关。任何帮助都将不胜感激。

l3zydbqr

l3zydbqr1#

sub(".*?\\^tree([^;]+).*", "\\1", x)
[1] "\\7\\i"

请注意,双反斜杠只是一个反斜杠。

cat(sub(".*?\\^tree([^;]+).*", "\\1", x))
\7\i

相关问题