考虑以下两个字符串:
string1 <- "GCTCCC...CTCCATGAAGTA...CTTCACATCCGTGT.CCGGCCTGGCCGCGGAGAGCCC"
string_reference <- "GCTCCC...CTCCATGAAGTATTTCTTCACATCCGTGT.CCGGCCTGGCCGCGGAGAGCCC"
如何轻松删除“字符串1”中的点,但仅删除那些在“字符串引用”中相同位置的点?
预期产量:
string1 = "GCTCCCCTCCATGAAGTA...CTTCACATCCGTGTCCGGCCTGGCCGCGGAGAGCCC"
最佳答案
与罗伯特(Robert)相似,但是是“矢量化”版本:
s1 <- unlist(strsplit(string1, ""))
s2 <- unlist(strsplit(string_reference, ""))
paste0(Filter(Negate(is.na), ifelse(s1 == s2 & s1 == ".", NA, s1)), collapse="")
# [1] "GCTCCCCTCCATGAAGTA...CTTCACATCCGTGTCCGGCCTGGCCGCGGAGAGCCC"
我引用“向量化”是因为向量化发生在字符串向量的字符上。假设字符串向量中只有一个元素。如果字符串向量中包含多个元素,则必须遍历
strsplit
的结果。
关于r - 如何根据第二个字符串删除字符串中的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22622123/