Skip to content

Commit 25ac055

Browse files
committed
Merge pull request #1 from UprootStaging/optim
Optimisation: use a compiled regex pattern
2 parents 2051c03 + 35c16de commit 25ac055

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/main/java/info/debatty/java/stringsimilarity/KShingling.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.io.Serializable;
44
import java.security.InvalidParameterException;
55
import java.util.HashSet;
6+
import java.util.regex.Pattern;
67

78
/**
89
* A k-shingling is a set of unique k-grams, used to measure the similarity of
@@ -71,8 +72,9 @@ public final void setK(int k) {
7172
this.k = k;
7273
}
7374

75+
private static final Pattern spaceReg = Pattern.compile("\\s+");
7476
public boolean parse(String s) {
75-
s = s.replaceAll("\\s+", " ");
77+
s = spaceReg.matcher(s).replaceAll(" ");
7678
for (int i = 0; i < (s.length() - k + 1); i++) {
7779
this.add(s.substring(i, i+k));
7880
}

0 commit comments

Comments
 (0)