【发布时间】:2018-09-06 13:40:31
【问题描述】:
包中的函数给了我一个字符,其中原始字符串合并在一起。我需要将它们分开,换句话说,我必须找到原始元素。这是一个示例以及我尝试过的方法:
orig<-c("answer1","answer2","answer3")
result<-"answer3answer2"
我需要的结果是:
c("answer2","answer3")
我尝试过 split() 结果,但没有字符串可以作为它的依据,尤其是我以前不知道答案是什么。
我已尝试将结果匹配()到原点,但我需要对所有子字符串执行此操作。
必须有一个简单的解决方案,但我还没有找到。
【问题讨论】:
-
不一定是可逆的过程。例如,如果您的原始集是 c("ab", "cde", "abc", "de") 那么您根本无法知道字符串 "abcde" 是否是 ("ab" 和 "cde" 的结果) 或 ("abc" 和 "de")。您会对将所有这四个选项都列为选项的解决方案感到满意吗?如果是这样,我应该能够提出一些建议。 (在现实世界的情况下,这可能重要也可能不重要 - 对于单个单词的列表,它肯定会重要 - 这是某些古代语言翻译困难的原因之一,因为它们不使用空格!)
-
这样可以吗?
unlist(strsplit(result, "(?<=[\\d+])", perl = TRUE))- 取自 this answer -
“我已经尝试将结果匹配()到 orig”:你的意思是
orig可用?