Я пытаюсь сравнить 2 файла, из которых один - обычный текст (не английский), а другой - глоссарий в паре значений ключа. Они выглядят примерно так:Сравнение 2 текстовых файлов разных локалей в java
Японский Текстовый файл:
わたしのなまえはしんです。
ソフトウェアインギネアとしてはたらいています.
En-Jp свойства файла:
as:と
software:ソフトウェア
me:わたしを
name:なまえ
I:わたしは
working:はたらいています。
...
Я пытаюсь сравнить эти 2 файла контента мудрое с ниже код:
Scanner kb = new Scanner(System.in);
String localtext;
String glossarytext;
File dictionary = new File("./src/main/resources/ZN_EN_Test.txt");
Scanner dictScanner = new Scanner(dictionary);
File list = new File("./src/main/resources/ZN_JP_Test.txt");
try
{
while(dictScanner.hasNextLine()){
glossarytext=dictScanner.nextLine();
try (Scanner listScanner = new Scanner(list);){
while(listScanner.hasNextLine()){
localtext=listScanner.nextLine();
if(glossarytext.contains(localtext))
System.out.println(localtext);
}
}
}
} catch(NoSuchElementException e) {
e.printStackTrace();
}
Проблема здесь, так как в японском тексте нет места между двумя словами, сканер, похоже, не прошел contains
. Та же программа работает успешно, если я организую слова что-то вроде ниже:
わたしの
なまえ
は
しん
です。
Как я должен сделать его работу, чтобы найти соответствие содержимого без форматирования японского текстового файла.
Большое спасибо за подробное объяснение. «Матчи» полезны, так как я хочу только увидеть, существует ли конкретный шаблон или нет. Я действительно не хочу извлекать согласованный шаблон. Но все вышеупомянутые замечания и ссылки действительно полезны. – MKay