【发布时间】:2018-10-16 22:22:20
【问题描述】:
我想知道是否可以改进我的应用程序中的字符串处理。 我创建了一个测试 XML [为 RSS,因为我是一个崇拜哥伦布的人] 6.7 MB 文件,我正在处理文本以通过 RegEx 适应行长:
String returnString=returnString+"Text : " +
e.getChildText("description").
replaceAll("(?<=\\G.{70,81}(?=\\s))",
"\n ")+" \n";
每个已处理的项目 [org.jdom2.Element] 大约需要 8-16 毫秒 [Intel i7 gen 7,笔记本电脑],所以在我让它咀嚼一个将近 7 MB 的文件之前,我并没有那么不高兴。
处理需要 65-75 秒。
我可以做一些预处理来加快这个过程吗,或者是这样吗?
完全欢迎其他语言/其他方法。 C除外。
编辑:我正在处理 org.jdom2.Element 中的字符串。
【问题讨论】:
-
目前的瓶颈是什么?如果您不知道,您可能想学习使用分析器。 visualvm 中的那个是一个很好的起点。
-
我没有看到瓶颈。我什至不知道是否有一个。我写了一个我认为很好的代码,但我不喜欢输出处理时间。对我来说似乎很长。我可能正在做一个“婆婆”。坦率地说,我发布了一个可能对某些人有用的代码[嗯,正则表达式可以],我想知道这些改进,因为我缺乏进一步的知识。从字面上看是学术性的,但对其他人有用。
-
考虑使用更简单的正则表达式。
-
嗯...请解释一下。把我当成白痴。谢谢。
-
你想做什么?您是否尝试将文本换行为 70-81 个字符的行,换行行缩进 11 个空格,以便它们最多 92 个字符宽?