java 英文单词拼写纠正框架(Word Checker)
Word Checker
本项目用于单词拼写检查。
项目简介
word checker 用于单词拼写检查。
特性说明
支持 i18n
错误提示支持 i18N
支持英文的单词纠错
可以迅速判断当前单词是否拼写错误
可以返回最佳匹配结果
可以返回纠正匹配列表,支持指定返回列表的大小
后续将会添加的新功能
英文单词支持自行定义
中文单词的拼写是否正确功能添加
快速开始
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
英文拼写纠错功能介绍
备注
所有方法为 EnWordChecker 类下。
| 功能 | 方法 | 参数 | 返回值 | 备注 |
|---|---|---|---|---|
| 判断单词拼写是否正确 | isCorrect(string) | 待检测的单词 | boolean | |
| 返回最佳纠正结果 | correct(string) | 待检测的单词 | String | 如果没有找到可以纠正的单词,则返回其本身 |
| 判断单词拼写是否正确 | correctList(string) | 待检测的单词 | List | 返回所有匹配的纠正列表 |
| 判断单词拼写是否正确 | correctList(string, int limit) | 待检测的单词, 返回列表的大小 | 返回指定大小的的纠正列表 | 列表大小 <= limit |
测试例子
参见
/**
* 是否拼写正确
*/
@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 提供的原始英语单词数据。
文档参考
java 英文单词拼写纠正框架(Word Checker)的更多相关文章
- Java英文单词Java基础常见英语词汇
Java英文单词Java基础常见英语词汇(共70个) ...
- Java jacob调用打印机打印word文档
前面说了Java如何生成复杂的Word文档,今年记录下Java如何调用打印机打印word文档. 起初用的是自带的PrintJob,但是系统提供的打印机制并不成熟完整.网上的代码也是千篇一律,在我的打印 ...
- [译] 第三十天:Play Framework - Java开发者梦寐以求的框架 - 百花宫
前言 30天挑战的最后一天,我决定学习 Play Framework .我本来想写Sacla,但是研究几个小时后,我发现没法在一天内公正评价Scala,下个月花些时间来了解并分享经验.本文我们先来看看 ...
- 菜鸟日记之 java中的集合框架
java中的集合框架图 如图所示:java中的集合分为两种Collection和Map两种接口 可分为Collection是单列集合和Map的双列集合 Collection单列集合:继承了Iterat ...
- Java基础--说集合框架
版权所有,转载注明出处. 1,Java中,集合是什么?为什么会出现? 根据数学的定义,集合是一个元素或多个元素的构成,即集合一个装有元素的容器. Java中已经有数组这一装有元素的容器,为什么还要新建 ...
- Java字节码操纵框架ASM小试
本文主要内容: ASM是什么 JVM指令 Java字节码文件 ASM编程模型 ASM示例 参考资料汇总 JVM详细指令 ASM是什么 ASM是一个Java字节码操纵框架,它能被用来动态生成类或者增强既 ...
- Java 7 Fork/Join 框架
在 Java7引入的诸多新特性中,Fork/Join 框架无疑是重要的一项.JSR166旨在标准化一个实质上可扩展的框架,以将并行计算的通用工具类组织成一个类似java.util中Collection ...
- 【jframe】Java Web应用程序框架 - 第01篇:Get Started
jframe是什么? jframe是一个基于MIT协议开源的java web应用程序框架,汇聚了我们团队之于java web应用程序的核心架构思想以及大量最佳实践,并且持续在实际项目中不断完善优化. ...
- Java 用Freemarker完美导出word文档(带图片)
Java 用Freemarker完美导出word文档(带图片) 前言 最近在项目中,因客户要求,将页面内容(如合同协议)导出成word,在网上翻了好多,感觉太乱了,不过最后还是较好解决了这个问题. ...
随机推荐
- python 8
一.文件操作初识 1. path 文件路径 F:\文件.txt encoding 编码方式 utf-8, gbk ... mode 操作方式 只读,只写,读写,写读,追加... f1 = open(r ...
- Mac 10.13.6 安装 cocoapods
卸载pod sudo rm -fr ~/Library/Caches/CocoaPods/ sudo rm -fr ~/.cocoapods/repos/master/ sudo rm -fr Pod ...
- Codeforces1113F. Sasha and Interesting Fact from Graph Theory(组合数学 计数 广义Cayley定理)
题目链接:传送门 思路: 计数.树的结构和边权的计数可以分开讨论. ①假设从a到b的路径上有e条边,那么路径上就有e-1个点.构造这条路径上的点有$A_{n-2}^{e-1}$种方案: ②这条路径的权 ...
- python 内置函数 进制转换
4.内置函数 自定义函数 内置函数 len Open id() type() range() 输入输出 print() input() 强制转换 int() float() list() tuple( ...
- JSF生命周期&Facelets的生命周期
1.JSF生命周期 1)恢复视图(Restore View) 视图表示组成特定页面的所有组件.它被保存在 客户端(通常存储在隐藏字段中)或服务器中(通常在会话中).根据请求访问的视图ID(页面地址), ...
- 锋利的jQuery初学(3)
jQuery详细介绍 1,$的含义:就是一个名称符号:jquery占用了两个变量:$和jquery; 2,js与jQuery的入口函数区别 (1),js的window.onload事件是等到所有内容加 ...
- 初学高级程序设计 shell编程
初学shell编程,遇到的一些问题和总结: 一.#!/bin/sh 为什么要在shell程序里要加这一行? 首先在shell编程里面,"#"符号确实是一个注释符号,但是在这里绝对不 ...
- node环境下express路由,
1.基本路由概念 路由是指确定应用程序如何响应对特定端点的客户端请求,该请求是URI(或路径)和特定HTTP请求方法(GET,POST等). 每个路由都可以有一个或多个处理函数,这些函数在路由匹配时执 ...
- LeetCode - Min Remaining Chess Pieces
假设有一个棋盘(二维坐标系), 棋盘上摆放了一些石子(每个石子的坐标都为整数). 你可以remove一个石子, 当且仅当这个石子的同行或者同列还有其它石子. 输入是一个list of points. ...
- dubbo 中文官网
根大家分享一下:dubbo的中文官网迁移到了githup上地址:https://dubbo.gitbooks.io/dubbo-user-book/content/preface/background ...