是否有函数可以测试两个字符串在特定位置是否相同?或者也许是为了取回相同的部分和不同的部分。
我正在搜索一些字符串函数,但找不到现成可用的函数。但我预计这是一种常见的用法。
我希望是这样的:
a <- stringDiff('difference_MSA_vs_DFI', 'difference_SEL_vs_BLA')
print(a)
$identical
[1] "difference_"
$differing
[1] "MSA_vs_DFI" "SEL_vs_BLA"
最佳答案
我不知道有现成的功能可以做到这一点。这种自制的一种作品:它可能不是很有效,只能使用 2 个字符串。但也许足以满足您的目的:
stringDiff <- function(strings){
string_by_letter = strsplit(strings, split = '')
i_diff = which(string_by_letter[[1]] != string_by_letter[[2]])
list(identical = substr(strings[1], 1, min(i_diff) - 1),
differing = substr(strings, min(i_diff) , stop = 1000000L))
}
stringDiff(strings = c('difference_MSA_vs_DFI', 'difference_SEL_vs_BLA'))
$identical
[1] "difference_"
$differing
[1] "MSA_vs_DFI" "SEL_vs_BLA"
关于r - 测试字符串是否与位置 x 相同的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29162043/