這裏是從我的數據的一些例子:刪除第二個「|」在最後一個位置
a <-c("sp|Q9Y6W5|","sp|Q9HB90|,sp|Q9NQL2|","orf|NCBIAAYI_c_1_1023|",
"orf|NCBIACEN_c_10_906|,orf|NCBIACEO_c_5_1142|",
"orf|NCBIAAYI_c_258|,orf|aot172_c_6_302|,orf|aot180_c_2_405|")
對於一個:個人字符串可以包含更多的條目「SP |」和「ORF」
結果卻是這樣的:
[1] "sp|Q9Y6W5" "sp|Q9HB90,sp|Q9NQL2" "orf|NCBIAAYI_c_1_1023"
"orf|NCBIACEN_c_10_906,orf|NCBIACEO_c_5_1142"
"orf|NCBIAAYI_c_258,orf|aot172_c_6_302,orf|aot180_c_2_405"
所以,目的是刪除最後一個「|」對於每個「sp |」和「orf |」條目。看來「|」是一個特殊的挑戰,因爲它是正則表達式中的元字符。此外,「orf |」的長度和組成條目差異很大。他們唯一的共同點是「orf |」或「sp |」在開始和那個「|」處於最後位置。我使用gsub()嘗試了不同的東西,但也使用了stringr包或regexpr()或[:punct:],但沒有任何效果。也許這只是錯誤的組合。
非常感謝您的幫助。你的建議非常完美。我最好繼續增加關於正則表達式的知識以及如何使用它們。:-) – AlRa