From ebeb83638763f6b3747c5605432e44b747bc4a2c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Reimar=20D=C3=B6ffinger?= Date: Sun, 13 Dec 2015 01:07:40 +0100 Subject: [PATCH] Avoid replaceAll. It uses regexp and is horribly slow, so use replace where it works just as well. --- .../android/dictionary/engine/CheckDictionariesMain.java | 2 +- .../hughes/android/dictionary/parser/WikiTokenizer.java | 8 ++++---- .../dictionary/parser/wiktionary/EnForeignParser.java | 4 ++-- .../parser/wiktionary/EnToTranslationParser.java | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/com/hughes/android/dictionary/engine/CheckDictionariesMain.java b/src/com/hughes/android/dictionary/engine/CheckDictionariesMain.java index 4d0b278..6ad8fb2 100644 --- a/src/com/hughes/android/dictionary/engine/CheckDictionariesMain.java +++ b/src/com/hughes/android/dictionary/engine/CheckDictionariesMain.java @@ -82,7 +82,7 @@ public class CheckDictionariesMain { } Collections.sort(dictNames); - System.out.println(dictNames.toString().replaceAll(",", " *")); + System.out.println(dictNames.toString().replace(",", " *")); dictionaryInfoOut.close(); } diff --git a/src/com/hughes/android/dictionary/parser/WikiTokenizer.java b/src/com/hughes/android/dictionary/parser/WikiTokenizer.java index 411baaf..165458e 100644 --- a/src/com/hughes/android/dictionary/parser/WikiTokenizer.java +++ b/src/com/hughes/android/dictionary/parser/WikiTokenizer.java @@ -125,8 +125,8 @@ public final class WikiTokenizer { } public WikiTokenizer(String wikiText, final boolean isNewline) { - wikiText = wikiText.replaceAll("\u2028", "\n"); - wikiText = wikiText.replaceAll("\u0085", "\n"); + wikiText = wikiText.replace('\u2028', '\n'); + wikiText = wikiText.replace('\u0085', '\n'); this.wikiText = wikiText; this.matcher = wikiTokenEvent.matcher(wikiText); justReturnedNewline = isNewline; @@ -512,7 +512,7 @@ public final class WikiTokenizer { return safeIndexOf(wikiText, start, "\n", "\n"); } } else { - errors.add("Pop too many error: " + wikiText.substring(start).replaceAll("\n", "\\\\n")); + errors.add("Pop too many error: " + wikiText.substring(start).replace("\n", "\\\\n")); // If we were looking for a newline return safeIndexOf(wikiText, start, "\n", "\n"); } @@ -581,7 +581,7 @@ public final class WikiTokenizer { while (s.endsWith("\n")) { s = s.substring(0, s.length() - 1); } - return s.replaceAll("\n", " "); + return s.replace('\n', ' '); } static int safeIndexOf(final String s, final int start, final String target, final String backup) { diff --git a/src/com/hughes/android/dictionary/parser/wiktionary/EnForeignParser.java b/src/com/hughes/android/dictionary/parser/wiktionary/EnForeignParser.java index 5ed0bc2..c4748e6 100644 --- a/src/com/hughes/android/dictionary/parser/wiktionary/EnForeignParser.java +++ b/src/com/hughes/android/dictionary/parser/wiktionary/EnForeignParser.java @@ -40,7 +40,7 @@ public final class EnForeignParser extends EnParser { if (isIgnorableTitle(title)) { return; } - final String lang = heading.replaceAll("=", "").trim(); + final String lang = heading.replace("=", "").trim(); if (!langPattern.matcher(lang).find()){ return; } @@ -322,4 +322,4 @@ public final class EnForeignParser extends EnParser { } - } // ForeignParser \ No newline at end of file + } // ForeignParser diff --git a/src/com/hughes/android/dictionary/parser/wiktionary/EnToTranslationParser.java b/src/com/hughes/android/dictionary/parser/wiktionary/EnToTranslationParser.java index c128055..d37c0e3 100644 --- a/src/com/hughes/android/dictionary/parser/wiktionary/EnToTranslationParser.java +++ b/src/com/hughes/android/dictionary/parser/wiktionary/EnToTranslationParser.java @@ -37,7 +37,7 @@ public final class EnToTranslationParser extends EnParser { if (isIgnorableTitle(title)) { return; } - heading = heading.replaceAll("=", "").trim(); + heading = heading.replace("=", "").trim(); if (!heading.contains("English")) { return; } @@ -228,4 +228,4 @@ public final class EnToTranslationParser extends EnParser { incrementCount("WARNING: Duplicate pair" ); } } - } // EnToTranslationParser \ No newline at end of file + } // EnToTranslationParser -- 2.43.0