汉字拼音对照表

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

 

你可能感兴趣的:(java)