我有三个文件包含一组字符串。File1和File2包含File3的子字符串。我想从File3中减去位于File1和File2子字符串之间的字符串。请看下面我的例子:
文件1(子字符串1):
head(fivep$V2)
[1] UGAGGUAGUAGUUUGUACAGUU UGAGGUAGUAGUUUGUGCUGUU ACAUACUUCUUUAUAUGCCCAUA UAGCAGCACAUCAUGGUUUACA
[5] GGGUUCCUGGCAUGCUGAUUU AGAGCUUAGCUGAUUGGUGAAC
文件2(子字符串2)
^{pr2}$文件3
head(hairpin$V2)
[1] UACACUGUGGAUCCGGUGAGGUAGUAGGUUGUAUAGUUUGGAAUAUUACCACCGGUGAACUAUGCAAUUUUCUACCUUACCGGAGACAGAACUCUUCGA
[2] AUGCUUCCGGCCUGUUCCCUGAGACCUCAAGUGUGAGUGUACUAUUGAUGCUUCACACCUGGGCUCUCCGGGUACCAGGACGGUUUGAGCAGAU
[3] AAAGUGACCGUACCGAGCUGCAUACUUCCUUACAUGCCCAUACUAUAUCAUAAAUGGAUAUGGAAUGUAAAGAAGUAUGUAGAACGGGGUGGUAGU
[4] UAAACAGUAUACAGAAAGCCAUCAAAGCGGUGGUUGAUGUGUUGCAAAUUAUGACUUUCAUAUCACAGCCAGCUUUGAUGUGCUGCCUGUUGCACUGU
[5] CGGACAAUGCUCGAGAGGCAGUGUGGUUAGCUGGUUGCAUAUUUCCUUGACAACGGCUACCUUCACUGCCACCCCGAACAUGUCGUCCAUCUUUGAA
[6] UCUCGGAUCAGAUCGAGCCAUUGCUGGUUUCUUCCACAGUGGUACUUUCCAUUAGAACUAUCACCGGGUGGAAACUAGCAGUGGCUCGAUCUUUUCC
示例:
String in File1 String in File2
AGGGCUUAGCUGCUUGUGAGCA UUCACAGUGGCUAAGUUCCGC
String in File3 CUGAGGAGCAGGGCUUAGCUGCUUGUGAGCAGGGUCCACACCAAGUCGUGUUCACAGUGGCUAAGUUCCGCCCCCCAG
此示例的输出:
GGGUCCACACCAAGUCGUG
在Perl中,您可以尝试以下代码:
输出:
^{pr2}$在R中使用
qdapRegex
:顾名思义,
rm_between
删除或获取左右边界之间的项。使用extract = TRUE
获取边界之间的字符串。返回的值是一个列表,因为每个字符串可能有多个提取。如果这是不需要的,那么使用unlist
,如unlist(rm_between(f3, f1, f2, extract=TRUE))
。在以下是R中的解决方案:
相关问题 更多 >
编程相关推荐