Skip to content

Commit

Permalink
🐛Change the order of dictionary judgments
Browse files Browse the repository at this point in the history
  • Loading branch information
nafu-at committed Dec 18, 2022
1 parent 4733dea commit 5f412e9
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,11 @@

import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;

/**
* Japanize変換を実行して、実行後に発言を行うタスク
Expand Down Expand Up @@ -65,7 +67,7 @@ public void run() {
public boolean runSync() {

// 変換対象外のキーワード
HashMap<String, String> keywordMap = new HashMap<String, String>();
HashMap<String, String> keywordMap = new LinkedHashMap<>();
ArrayList<String> keywords = new ArrayList<String>();
if (LunaChat.getConfig().isJapanizeIgnorePlayerName()) {
keywords.addAll(LunaChat.getPlugin().getOnlinePlayerNames());
Expand All @@ -87,7 +89,9 @@ public boolean runSync() {
keywordMap.put(key, keyword);
}
}
for (String dickey : dictionary.keySet()) {
for (String dickey : dictionary.entrySet().stream()
.sorted((e1, e2) -> e2.getKey().length() - e1.getKey().length())
.collect(Collectors.toMap(k -> k.getKey(), v -> v.getValue(), (v1, v2) -> v1, LinkedHashMap::new)).keySet()) {
if (keywordLocked.contains(dickey)) {
index++;
String key = "<" + makeMultibytesDigit(index) + ">";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
package com.github.ucchyocean.lc3.japanize;

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.stream.Collectors;

/**
* ローマ字表記を漢字変換して返すユーティリティ
Expand Down Expand Up @@ -37,10 +39,12 @@ public static String japanize(String org, JapanizeType type,
String deletedURL = org.replaceAll(REGEX_URL, " ");

// キーワードをロック
HashMap<String, String> keywordMap = new HashMap<String, String>();
HashMap<String, String> keywordMap = new LinkedHashMap<>();
int index = 0;
String keywordLocked = deletedURL;
for (String dickey : dictionary.keySet()) {
for (String dickey : dictionary.entrySet().stream()
.sorted((e1, e2) -> e2.getKey().length() - e1.getKey().length())
.collect(Collectors.toMap(k -> k.getKey(), v -> v.getValue(), (v1, v2) -> v1, LinkedHashMap::new)).keySet()) {
if (keywordLocked.contains(dickey)) {
index++;
String key = "<" + makeMultibytesDigit(index) + ">";
Expand Down

0 comments on commit 5f412e9

Please sign in to comment.