java - 行程解压

标签 java compression

这里是计算机科学学生。我想编写一个程序来解压缩根据游程编码的修改形式进行编码的字符串(我已经为其编写了代码)。例如,如果字符串包含“bba10”,它将解压缩为“bbaaaaaaaaaa”。如何让程序识别字符串的一部分('10')是整数?

感谢您的阅读!

最佳答案

一个简单的正则表达式就可以了。

final Matcher m = Pattern.compile("(\\D)(\\d+)").matcher(input);
final StringBuffer b = new StringBuffer();
while (m.find()) 
  m.appendReplacement(b, replicate(m.group(1), Integer.parseInt(m.group(2))));
m.appendTail(b);

其中复制

String replicate(String s, int count) {
  final StringBuilder b = new StringBuilder(count);
  for (int i = 0; i < count; i++) b.append(s);
  return b.toString();
}

关于java - 行程解压,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20131787/

相关文章:

algorithm - 创建移动 map 的最佳方式

python - Zlib 在 python 中压缩

java - jcombobox 在拖放中被选中

java - 什么是NullPointerException,我该如何解决?

java - 按下后退按钮时 Activity 布局的问题

java - MiniDFSCluster UnsatisfiedLinkError org.apache.hadoop.io.nativeio.NativeIO$Windows.access0

java - 线程 sleep 阻止我的 Swing 应用程序执行

algorithm - 旧的Word文件格式*.doc,MS在其旧文档格式中使用了哪种压缩算法?

java - 在Weblogic 11g服务器上通过网络发送hashMap时实现压缩

php - ZipArchive .zip 文件显示根目录中的所有文件