Deduplicate code of getStringResultFromRegexArray methods in Utils
Also revert indentation in Utils.mixedNumberWordToLong.
This commit is contained in:
parent
9ca647a750
commit
11b5a222c4
1 changed files with 9 additions and 16 deletions
|
@ -15,6 +15,7 @@ import java.util.Iterator;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
public final class Utils {
|
public final class Utils {
|
||||||
|
@ -73,9 +74,8 @@ public final class Utils {
|
||||||
multiplier = Parser.matchGroup("[\\d]+([\\.,][\\d]+)?([KMBkmb])+", numberWord, 2);
|
multiplier = Parser.matchGroup("[\\d]+([\\.,][\\d]+)?([KMBkmb])+", numberWord, 2);
|
||||||
} catch (final ParsingException ignored) {
|
} catch (final ParsingException ignored) {
|
||||||
}
|
}
|
||||||
|
final double count = Double.parseDouble(
|
||||||
final double count = Double.parseDouble(Parser.matchGroup1("([\\d]+([\\.,][\\d]+)?)",
|
Parser.matchGroup1("([\\d]+([\\.,][\\d]+)?)", numberWord).replace(",", "."));
|
||||||
numberWord).replace(",", "."));
|
|
||||||
switch (multiplier.toUpperCase()) {
|
switch (multiplier.toUpperCase()) {
|
||||||
case "K":
|
case "K":
|
||||||
return (long) (count * 1e3);
|
return (long) (count * 1e3);
|
||||||
|
@ -391,19 +391,12 @@ public final class Utils {
|
||||||
@Nonnull final String[] regexes,
|
@Nonnull final String[] regexes,
|
||||||
final int group)
|
final int group)
|
||||||
throws Parser.RegexException {
|
throws Parser.RegexException {
|
||||||
for (final String regex : regexes) {
|
return getStringResultFromRegexArray(input,
|
||||||
try {
|
Arrays.stream(regexes)
|
||||||
final String result = Parser.matchGroup(regex, input, group);
|
.filter(Objects::nonNull)
|
||||||
if (result != null) {
|
.map(Pattern::compile)
|
||||||
return result;
|
.toArray(Pattern[]::new),
|
||||||
}
|
group);
|
||||||
|
|
||||||
// Continue if the result is null
|
|
||||||
} catch (final Parser.RegexException ignored) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new Parser.RegexException("No regex matched the input on group " + group);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue