gpt4 book ai didi

algorithm - 最简单(和正确)的转义算法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:41:13 30 4
gpt4 key购买 nike

免责声明:这是一个理论问题,目的是增加我的理解。我知道我总是可以使用像 JSON 库这样的工具来解决问题。

假设我想创建一个逗号分隔的值列表,这些值本身可能包含逗号。这些逗号需要先转义。假设我使用 . 作为转义字符,那么 ["a", "b,c"] 变为 a,b.,c

但是,如果其中一个值最初包含 ., 序列,那么我们需要在转义逗号之前转义那些值。所以 [ "a", "b.,c"] 变成 a,b..,c

但是,如果其中一个值最初包含一个 .., 序列,那么我们需要在 转义逗号之前转义这些值。所以 [ "a", "b..,c"] 变成 a,b...,c

但是,如果其中一个值最初包含 ..., 序列,那么我们需要在转义逗号之前转义那些值。所以 [ "a", "b...,c"] 变成 a,b....,c

等等...

解码过程必须执行反向递归。

但是,我怀疑我是不是太难了,还有更简单的方法。有没有更简单的方法?

最佳答案

感谢@mkbeckish 的评论,我意识到该算法可以实现为:

// encoding
text.replace(escape, escape + escape);
text.replace(delim , escape + delim);

// decoding
text.replace(escape + delim , delim);
text.replace(escape + escape, escape);

Example implementation.

愚蠢的是我自己没有意识到这一点..

关于algorithm - 最简单(和正确)的转义算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14780699/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com