java替换多次出现的字符
我发现
String seq = "123456789";
String regex = seq.replaceAll(".", "(?=[$0-9]([a-z]))?") + "[0-9][a-z]";
String repl = seq.replaceAll(".", "\\$$0");
这将4a变成aaaa,3b变成bbb等等。。。我需要相反的答案,但我想不出来。我需要把aaaa变成4a,bbb变成3b等等。非常感谢
你可以在下面搜索框中键入要查询的问题!
我发现
String seq = "123456789";
String regex = seq.replaceAll(".", "(?=[$0-9]([a-z]))?") + "[0-9][a-z]";
String repl = seq.replaceAll(".", "\\$$0");
这将4a变成aaaa,3b变成bbb等等。。。我需要相反的答案,但我想不出来。我需要把aaaa变成4a,bbb变成3b等等。非常感谢
# 1 楼答案
以下是Java中运行长度编码/解码实现的示例:
摘自这里:
http://rosettacode.org/wiki/Run-length_encoding
(本页包含72种不同编程语言的等效示例,以实现相同的目标)
为了达到你的要求,你可以使用“编码”方法
这里测试:http://www.browxy.com/SubmittedCode/21369
Regex本身并不是实现这一目标的合适工具