英文单词拼写纠正(错误检查)的java实现-word-checker

问题引入

平时工作学习中,对于单词拼写检查也是很常见的需求。
一直没找到特别好用的版本,就自己写一个。方便以后拓展和他人使用。

项目简介

本项目用于英文单词拼写检查。

word-checker

快速开始

JDK 版本

JDK1.7 及其以后

入门例子

maven 引入

本项目已经上传到 maven 仓库,直接引入即可

<dependency>
     <groupId>com.github.houbb</groupId>
     <artifactId>word-checker</artifactId>
    <version>0.0.1</version>
</dependency>

测试案例

  • Main.java
public static void main(String[] args) {
    final String result = EnWordChecker.getInstance().correct("speling");
    System.out.println(result);
}

结果为

spelling

特性说明

支持 i18n

错误提示支持 i18N

支持英文的单词纠错

  • 可以迅速判断当前单词是否拼写错误

  • 可以返回最佳匹配结果

  • 可以返回纠正匹配列表,支持指定返回列表的大小

后续将会添加的新功能

  • 英文单词支持自行定义

  • 中文单词的拼写是否正确功能添加

英文拼写纠错功能介绍

备注

所有方法为 EnWordChecker 类下。

功能方法参数返回值备注
判断单词拼写是否正确isCorrect(string)待检测的单词boolean
返回最佳纠正结果correct(string)待检测的单词String如果没有找到可以纠正的单词,则返回其本身
判断单词拼写是否正确correctList(string)待检测的单词List返回所有匹配的纠正列表
判断单词拼写是否正确correctList(string, int limit)待检测的单词, 返回列表的大小返回指定大小的的纠正列表列表大小 <= limit

测试例子

参见 EnWordCheckerTest.java

/**
 * 是否拼写正确
 */
@Test
public void isCorrectTest() {
    final String hello = "hello";
    final String speling = "speling";
    Assert.assertTrue(EnWordChecker.getInstance().isCorrect(hello));
    Assert.assertFalse(EnWordChecker.getInstance().isCorrect(speling));
}
/**
* 返回最佳匹配结果
*/
@Test
public void correctTest() {
    final String hello = "hello";
    final String speling = "speling";
    Assert.assertEquals("hello", EnWordChecker.getInstance().correct(hello));
    Assert.assertEquals("spelling", EnWordChecker.getInstance().correct(speling));
}
/**
 * 默认纠正匹配列表
 * 1. 默认返回所有
 */
@Test
public void correctListTest() {
    final String word = "goo";
    List<String> stringList = EnWordChecker.getInstance().correctList(word);
    Assert.assertTrue(stringList.size() > 0);
}
/**
 * 默认纠正匹配列表
 * 1. 默认返回所有
 */
@Test
public void correctListTest() {
    final String word = "goo";
    List<String> stringList = EnWordChecker.getInstance().correctList(word);
    Assert.assertTrue(stringList.size() > 0);
}

技术鸣谢

Words 提供的原始英语单词数据。

文档参考

ENABLE word list

spell-correct

spellchecking

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页