欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

汉字拼音对照表

程序员文章站 2024-03-23 10:35:52
...
首先利用系统自带软件生成汉字和拼音的对照表
然后 切割文本内容 , 匹配正则表达式这个类里增加下面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 文件.