From 2511a79080157001108a3a380a31774e1d7d936f Mon Sep 17 00:00:00 2001 From: Reinhard Pointner Date: Tue, 3 Jul 2018 13:39:18 +0700 Subject: [PATCH] Fix potential out-of-range NFE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ➔ https://www.filebot.net/forums/viewtopic.php?f=4&t=6008 --- .../filebot/similarity/NumericSimilarityMetric.java | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/source/net/filebot/similarity/NumericSimilarityMetric.java b/source/net/filebot/similarity/NumericSimilarityMetric.java index 3ca96c76..9d5c6a9c 100644 --- a/source/net/filebot/similarity/NumericSimilarityMetric.java +++ b/source/net/filebot/similarity/NumericSimilarityMetric.java @@ -1,11 +1,12 @@ package net.filebot.similarity; +import static java.util.stream.Collectors.*; import static net.filebot.util.RegularExpressions.*; +import static net.filebot.util.StringUtilities.*; import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.Set; -import java.util.regex.Matcher; import uk.ac.shef.wit.simmetrics.similaritymetrics.AbstractStringMetric; import uk.ac.shef.wit.simmetrics.similaritymetrics.QGramsDistance; @@ -37,15 +38,7 @@ public class NumericSimilarityMetric implements SimilarityMetric { @Override public ArrayList tokenizeToArrayList(String s) { - ArrayList tokens = new ArrayList(); - - Matcher m = DIGIT.matcher(s); - while (m.find()) { - // remove leading zeros - tokens.add(String.valueOf(Integer.parseInt(m.group()))); - } - - return tokens; + return matchIntegers(s).stream().map(String::valueOf).collect(toCollection(ArrayList::new)); } @Override