字符串合并和拆分算法

标签 string algorithm redis

我正在使用redis存储数据,数据是值的组合序列,一个sequece与分隔符:和几个字符串值组合,例如:

value1:value2:value3

问题是这些值中可能包含 :,我的第一个想法是将 : 转义为 ::,然后将它们组合起来,我可以用单独的 : 将它们分开。

但这并不完美,因为 {'abc', 'aaa:', 'bbb'} 会被转义为 {'abc', 'aaa::', ' bbb'} 并合并为 abc:aaa:::bbb,无法解析。这可能是一个愚蠢的问题,我被卡住了,你会如何解决这个问题,或者有什么更好的建议?

最佳答案

我建议在插入时将值括起来,同时使用特殊标识符分别插入字符串的开头和结尾,然后将它们组合起来。例如:

{'%abc%', '%aaa:%', '%bbb%'}

因此,每当您想再次拆分它们时,您可以使用分隔符拆分它们,然后按照您的惯例替换前置和附加值以获得原始字符串。

希望对您有所帮助!

关于字符串合并和拆分算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24450402/

相关文章:

string - GCC 编译器的问题

C# - 使用包含字符串数组的字符串

algorithm - 二叉树前序访问伪代码

json - 缩放 websocket Node 服务器

+= 和 << 连接字符串的 Ruby 区别

regex - 使用正则表达式(括号)进行标记

algorithm - 动态前缀和

c# - 返回根类型的 Fluent Builder 模式

REDIS - 如何在一个查询中查询键并获取它们的值?

redis - 从多个其他集合中删除一个集合的成员的最佳方法