在字符串上实现查找/替换算法的简单方法是什么?我想使用字典来转换一个字符串,它定义了替换规则。问题是,每次替换后,我必须确保后续的替换对原始字符串进行操作。例如:
我的字符串是: ABCABCDEFDEF
我的规则是: ABC -> DEF和DEF -> XXX。
因此,我的结果应该是: DEFDEFXXXXXX,而不是XXXXXXXXXXXX (如果我首先应用第一条规则,然后适用第二条规则,这就是结果)。
发布于 2014-06-30 07:34:45
简单的方法:
记在脑海中:
这对一把钥匙来说当然足够了。但是,它是O(N*M),其中N是字符串长度,M是替换数。
改进:
发布于 2014-06-30 07:22:50
根据您正在使用的语言,可能会有预先设计的函数。如果您使用的是String.Replace,那么C#可能会有所帮助。这能帮你节省很多时间。如果您仍然在寻找能够在其他字符串中找到模式的算法,那么霍斯波尔-algorithm可能就是您所要寻找的。
您仍然需要实现后续替换对原始字符串进行操作的逻辑。但这听起来并不难做。
https://stackoverflow.com/questions/24484629
复制相似问题