【发布时间】:2019-06-26 15:05:08
【问题描述】:
我遇到了类似于Find all possible substrings of length n 的问题。但是,我不想基于字符查找所有可能的子字符串,而是想使用下划线之类的分隔符来拆分单词。
例如:
"423.A_425.A_429.B_440.A_480.C_502.B"
由此,我想使用n=3提取以下模式:
'423.A_425.A_429.B', '425.A_429.B_440.A', '429.B_440.A_480.C', '440.A_480.C_502.B'
对于n=4,子字符串应该变成:
'423.A_425.A_429.B_440.A', '425.A_429.B_440.A_480.C', '429.B_440.A_480.C_502.B'
我尝试调整 Julius Vainora 的解决方案(见下文)以使用下划线之间的模式而不是按字符分割,但还没有运气:
allsubstr <- function(x, n) unique(substring(x, 1:(nchar(x) - n + 1), n:nchar(x)))
然后我得到输出(使用n=3):
"423" "23." "3.A" ".A_" "A_4" "_42" "425" "25." "5.A" "429" "29." "9.B" ".B_" "B_4" "_44" "440" "40." "0.A" "_48" "480" "80." "0.C" ".C_" "C_5" "_50" "502" "02." "2.B"
还有什么可以替代的?
【问题讨论】:
-
您可以添加当前方法的输出吗?这样人们甚至不必执行您的代码,并且可能已经发现了一些东西。
-
感谢您的建议,我现在已经添加了我当前的输出。
标签: r