diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Episode.java b/app/src/main/java/com/fongmi/android/tv/bean/Episode.java index 8a806e1c1..04a1c19e5 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Episode.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Episode.java @@ -34,7 +34,7 @@ public class Episode implements Parcelable, Diffable { } private Episode(String name, String desc, String url) { - this.number = Util.getDigit(name); + this.number = Util.getNumber(name); this.name = name; this.desc = desc; this.url = url; diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Flag.java b/app/src/main/java/com/fongmi/android/tv/bean/Flag.java index bbc7022a4..74ec2800a 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Flag.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Flag.java @@ -108,7 +108,7 @@ public class Flag implements Parcelable, Diffable { public Episode find(String remarks, boolean strict) { if (getEpisodes().isEmpty()) return null; if (getEpisodes().size() == 1) return getEpisodes().get(0); - int number = Util.getDigit(remarks); + int number = Util.getNumber(remarks); return getEpisodes().stream() .map(episode -> new Episode.Rule(episode, episode.getScore(remarks, number))) .filter(Episode.Rule::find).max(Comparator.comparingInt(Episode.Rule::score)).map(Episode.Rule::episode) diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Util.java b/app/src/main/java/com/fongmi/android/tv/utils/Util.java index 9d30de10d..2a1b4ee2b 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Util.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Util.java @@ -105,15 +105,15 @@ public class Util { } } - public static int getDigit(String text) { + public static int getNumber(String text) { try { text = text.replaceAll("\\[.*?\\]|\\(.*?\\)", ""); text = text.replaceAll("\\b(19|20)\\d{2}\\b", ""); text = text.toLowerCase().replaceAll("2160p|1080p|720p|480p|4k|h26[45]|x26[45]|mp4", ""); Matcher matcher = EPISODE.matcher(text); if (matcher.find()) return Integer.parseInt(matcher.group(1)); - String digit = text.replaceAll("\\D+", ""); - return digit.isEmpty() ? -1 : Integer.parseInt(digit); + String number = text.replaceAll("\\D+", ""); + return number.isEmpty() ? -1 : Integer.parseInt(number); } catch (Exception e) { return -1; }