汉字拼音对照表
程序员文章站
2024-03-23 10:35:52
...
首先利用系统自带软件生成汉字和拼音的对照表
然后 切割文本内容 , 匹配正则表达式在这个类里增加下面2个方法
按照规则最后只留下符合 一个汉字后面跟着其拼音 的内容.匹配前的汉字拼音对照表共有56662条,匹配后的汉字拼音对照表共有27901条.
匹配前的文件为附件里面的 WINPY 字符集为Unicode.TXT 文件, 匹配后的文件为附件里面的 WINPYTemp 字符集为Unicode.TXT 文件.
然后 切割文本内容 , 匹配正则表达式在这个类里增加下面2个方法
public void testFileRW() {
String inFilepath = "拼音文件原位置";
String outFilepath = "输出位置";
TestFileOperate tfo = new TestFileOperate();
try {
String fileContent = tfo.fileReader(inFilepath, "Unicode", "\n");
String[] charactPy = tfo.splitString(fileContent, "\n");
// 匹配器
Pattern p = Pattern.compile("^[\u4e00-\u9fa5]{1}[\\p{ASCII}]+$");
Matcher m;
StringBuffer sbtemp = new StringBuffer();
for (int i = 0; i < charactPy.length; i++) {
m = p.matcher(charactPy[i]);
if (m.matches()) {
// System.out.println("[匹配的字符:]" + m.group() + "[被匹配的字符串:]"
// + charactPy[i] + "[被匹配的长度:]"
// + charactPy[i].length());
sbtemp.append(charactPy[i]).append("\n");
}
}
tfo.fileWriter(outFilepath, "Unicode", sbtemp.toString(),
1 * 1024 * 1024);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 测试汉字拼音对照的正则匹配
*
*/
public void vtestStrsplit() {
// String inFilepath = "拼音文件原位置";
TestFileOperate tfo = new TestFileOperate();
try {
// String fileContent = tfo.fileReader(inFilepath, "Unicode", "\n");
String fileContent = "\nce3=p10+p20+p30\n[Text]\n啊a\n"
+ "錒a\n阿爸aba\n阿昌achang";
String[] charactPy = tfo.splitString(fileContent, "\n");
Pattern p = Pattern.compile("^[\u4e00-\u9fa5]{2,}[\\p{ASCII}]+$");
// Matcher m = p.matcher(fileContent);
Matcher m;
m = p.matcher("阿昌achang");
if (m.matches()) {
System.out.println("1");
}
for (int i = 0; i < charactPy.length; i++) {
m = p.matcher(charactPy[i]);
if (m.lookingAt()) {
System.out.println("匹配的字符:" + m.group() + "\n被匹配的字符串:"
+ charactPy[i] + "[被匹配的长度:]"
+ charactPy[i].length());
}
}
// while (m.find()){
// MatchResult result = m.toMatchResult();
// String strgp = result.group();
// System.out.println(strgp);
// }
} catch (Exception e) {
e.printStackTrace();
}
}
按照规则最后只留下符合 一个汉字后面跟着其拼音 的内容.匹配前的汉字拼音对照表共有56662条,匹配后的汉字拼音对照表共有27901条.
匹配前的文件为附件里面的 WINPY 字符集为Unicode.TXT 文件, 匹配后的文件为附件里面的 WINPYTemp 字符集为Unicode.TXT 文件.
上一篇: go语言刷题:77. 组合