Java JLanguageTool不要忽略单词中的数字

Java JLanguageTool不要忽略单词中的数字,java,numbers,tokenize,digits,languagetool,Java,Numbers,Tokenize,Digits,Languagetool,我将JLanguageTool与德语(de)一起用于拼写检查,并注意到数字似乎用作单词分隔符(就像空格一样?)。例如,We8lt不是作为一个不正确的单词报告的,而是作为两个拼写错误报告的(一个用于We,一个用于lt)。或者,例如,bis8根本不作为错误报告 示例调用(我将其用作Java库,但行为相同): 这是一个很大的问题,例如单词和数字之间的空格找不到。如何使库/工具不将数字视为分词符?非常感谢。是的,你是对的:LanguageTool在德语中将数字视为分词符 要修改此行为,您必须更改源代码并

我将JLanguageTool与德语(
de
)一起用于拼写检查,并注意到数字似乎用作单词分隔符(就像空格一样?)。例如,
We8lt
不是作为一个不正确的单词报告的,而是作为两个拼写错误报告的(一个用于
We
,一个用于
lt
)。或者,例如,
bis8
根本不作为错误报告

示例调用(我将其用作Java库,但行为相同):


这是一个很大的问题,例如单词和数字之间的空格找不到。如何使库/工具不将数字视为分词符?非常感谢。

是的,你是对的:LanguageTool在德语中将数字视为分词符

要修改此行为,您必须更改源代码并从


String pattern=“(“+nonWordPattern.pattern()+”)(?是的,你是对的:LanguageTool在德语中将数字视为单词分隔符

要修改此行为,您必须更改源代码并从

String pattern=“(“+nonWordPattern.pattern()+”|)(?”?
$ echo "Hallo We8lt bis8 Test" | java -jar languagetool-commandline.jar -l de-DE -
Expected text language: German (Germany)
Working on STDIN...

1.) Line 1, column 7, Rule ID: GERMAN_SPELLER_RULE prio=-3
Message: Möglicher Tippfehler gefunden.
Suggestion: WE; Der; Den; Des; Dem
Hallo We8lt bis8 Test 
      ^^              

2.) Line 1, column 10, Rule ID: GERMAN_SPELLER_RULE prio=-3
Message: Möglicher Tippfehler gefunden.
Suggestion: LT; als; lag; alt; elf
Hallo We8lt bis8 Test 
         ^^           

Time: 1618ms for 1 sentences (0.6 sentences/sec)
String pattern = "(" + nonWordPattern.pattern() + "|(?<=[\\d°])-|-(?=\\d+))";
String pattern = ("(" + nonWordPattern.pattern() + "|(?<=[\\d°])-|-(?=\\d+))").replace("{L}", "{L}\\d");
<rule id="RULE" name="rule">
<pattern>
    <token regexp="yes">[a-zäöüß]+\d+[a-zäöüß]*</token>
</pattern>
<message>Fehlt hier ein Leerzeichen?</message>
<example correction=""><marker>P4sswort</marker>.</example>