1.中文简体和繁体相互转换、获取汉语拼音
1.1 引入maven依赖
<dependency>
<groupId>org.nlpcn</groupId>
<artifactId>nlp-lang</artifactId>
<version>1.7.7</version>
</dependency>
1.2 代码
public static void main(String[] args) {
System.out.println(JianFan.j2f("中文繁简拼音转换,简体转繁体"));
System.out.println(JianFan.f2j("中文繁簡拼音轉換,繁體轉簡體"));
System.out.println(Pinyin.pinyin("中文繁简拼音转换,获取汉语拼音"));
}
2.根据ip获取区域地址
1.1 引入maven依赖
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>ip2region</artifactId>
<version>2.6.4</version>
</dependency>
2.2 下载数据文件ip2region.xdb
2.3 代码
public static void main(String[] args) {
String ip = "20.205.243.166";
String dbPath = "D:/ip2region.xdb";
try {
//直接从xdb文件获取数据,不加载数据到缓存
Searcher searcher = Searcher.newWithFileOnly(dbPath);
//一次性加载到缓存
// Searcher searcher = Searcher.loadContentFromFile(dbPath);
System.out.println(searcher.search(ip));
} catch (Exception e) {
e.printStackTrace();
}
}
3.OCR识别提取图片上的文字
3.1 引入maven依赖
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>4.5.4</version>
</dependency>
3.2 下载、安装、配置环境变量
tesseract-ocr-w64-setup-5.3.4.20240503.exe
3.3 下载tessdata语言包
3.4 代码
public static void main(String[] args) {
//图片文件
File imageFile = new File("d:/Pictures/代码结构.PNG");
ITesseract instance = new Tesseract();
//语言包所在目录
instance.setDatapath("d:/Pictures/tessdata");
//识别英文字符
instance.setLanguage("eng");
try {
String result = instance.doOCR(imageFile);
System.out.println(result);
} catch (TesseractException e) {
e.printStackTrace();
}
}
4.用于sql语句包含字段和表的方法的代码实现
public class SqlParseDemo {
public static void main(String[] args) {
String sql = "insert into score_report_manual_son_1\n" +
"(\n" +
" c_team,\n" +
" m_score\n" +
")\n" +
"select c_team,max(t_score) as m_score from score_report group byc_team";
System.out.println(contains(sql, "t_score"));
}
private static final String[] SEPARATORS = {" ", ",", ".", "(", ")", "|", "=", "<", ">", "*", "!"};
//包含关系
public static boolean contains(String text, String word) {
return contains(text, word, SEPARATORS);
}
//包含关系
public static boolean contains(String text, String word, String[] separators) {
if (!text.contains(word)) {
return false;
}
if (text.equals(word)) {
return true;
}
for (String separator1 : separators) {
if(text.contains(separator1)) {
for (String separator2 : separators) {
if (text.contains(separator1 + word + separator2)) {
return true;
}
}
}
}
for (String separator : separators) {
if (text.startsWith(word + separator) || text.endsWith(separator + word)) {
return true;
}
}
return false;
}
}