Using replace() instead of replaceAll() for non-regex patterns
Using replace() instead replaceAll() when no regex is used remove's the overhead associated with replaceAll()
diff --git a/src/main/java/org/apache/joshua/corpus/syntax/ArraySyntaxTree.java b/src/main/java/org/apache/joshua/corpus/syntax/ArraySyntaxTree.java
index 27303ec..e99ab52 100644
--- a/src/main/java/org/apache/joshua/corpus/syntax/ArraySyntaxTree.java
+++ b/src/main/java/org/apache/joshua/corpus/syntax/ArraySyntaxTree.java
@@ -368,7 +368,7 @@
// TODO: could make this way more efficient
private void appendFromPennFormat(String line) {
- String[] tokens = line.replaceAll("\\(", " ( ").replaceAll("\\)", " ) ").trim().split("\\s+");
+ String[] tokens = line.replace("\\(", " ( ").replace("\\)", " ) ").trim().split("\\s+");
boolean next_nt = false;
int current_id = 0;
diff --git a/src/main/java/org/apache/joshua/decoder/ff/FeatureVector.java b/src/main/java/org/apache/joshua/decoder/ff/FeatureVector.java
index 34f19ae..89d729a 100644
--- a/src/main/java/org/apache/joshua/decoder/ff/FeatureVector.java
+++ b/src/main/java/org/apache/joshua/decoder/ff/FeatureVector.java
@@ -338,7 +338,7 @@
// First print all the dense feature names in order
for (int i = 0; i < DENSE_FEATURE_NAMES.size(); i++) {
- outputString.append(String.format("%s=%.3f ", DENSE_FEATURE_NAMES.get(i).replaceAll("_", "-"), getDense(i)));
+ outputString.append(String.format("%s=%.3f ", DENSE_FEATURE_NAMES.get(i).replace("_", "-"), getDense(i)));
printed_keys.add(DENSE_FEATURE_NAMES.get(i));
}
diff --git a/src/main/java/org/apache/joshua/mira/MIRACore.java b/src/main/java/org/apache/joshua/mira/MIRACore.java
index 9ba046d..3272115 100755
--- a/src/main/java/org/apache/joshua/mira/MIRACore.java
+++ b/src/main/java/org/apache/joshua/mira/MIRACore.java
@@ -2795,11 +2795,11 @@
return str;
// replace HTML/SGML
- str = str.replaceAll(""", "\"");
- str = str.replaceAll("&", "&");
- str = str.replaceAll("<", "<");
- str = str.replaceAll(">", ">");
- str = str.replaceAll("'", "'");
+ str = str.replace(""", "\"");
+ str = str.replace("&", "&");
+ str = str.replace("<", "<");
+ str = str.replace(">", ">");
+ str = str.replace("'", "'");
// split on these characters:
// ! " # $ % & ( ) * + / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
diff --git a/src/main/java/org/apache/joshua/util/FormatUtils.java b/src/main/java/org/apache/joshua/util/FormatUtils.java
index ead2db7..9282c4f 100644
--- a/src/main/java/org/apache/joshua/util/FormatUtils.java
+++ b/src/main/java/org/apache/joshua/util/FormatUtils.java
@@ -122,15 +122,15 @@
}
public static String escapeSpecialSymbols(String s) {
- return s.replaceAll("\\[", "-lsb-")
- .replaceAll("\\]", "-rsb-")
- .replaceAll("\\|", "-pipe-");
+ return s.replace("\\[", "-lsb-")
+ .replace("\\]", "-rsb-")
+ .replace("\\|", "-pipe-");
}
public static String unescapeSpecialSymbols(String s) {
- return s.replaceAll("-lsb-", "[")
- .replaceAll("-rsb-", "]")
- .replaceAll("-pipe-", "|");
+ return s.replace("-lsb-", "[")
+ .replace("-rsb-", "]")
+ .replace("-pipe-", "|");
}
/**
diff --git a/src/main/java/org/apache/joshua/zmert/MertCore.java b/src/main/java/org/apache/joshua/zmert/MertCore.java
index 17f6677..47cede9 100644
--- a/src/main/java/org/apache/joshua/zmert/MertCore.java
+++ b/src/main/java/org/apache/joshua/zmert/MertCore.java
@@ -2597,11 +2597,11 @@
if (normMethod == 0) return str;
// replace HTML/SGML
- str = str.replaceAll(""", "\"");
- str = str.replaceAll("&", "&");
- str = str.replaceAll("<", "<");
- str = str.replaceAll(">", ">");
- str = str.replaceAll("'", "'");
+ str = str.replace(""", "\"");
+ str = str.replace("&", "&");
+ str = str.replace("<", "<");
+ str = str.replace(">", ">");
+ str = str.replace("'", "'");