百度了很多,比较简单的例子也看到了。现在想问一下,如果我有一个比较大的文件,需要判断其中是否有全角字符,如果有,输出该字符并标明所在行。比较好的实现方式有什么呢?比如,怎么读取file,是按行读还是?
各位大神求指教,最好贴详细代码,有劳了❤
java如何识别全角字符
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
6条回答 默认 最新
JonsonJiao 2015-08-15 08:27关注我的建议是使用正则表达的全角按行进行匹配,示例代码:
File file = new File("D:\\test.txt"); try { BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8")); String line = br.readLine(); Pattern pattern = Pattern.compile("[\uFE30-\uFFA0]"); // 正则表示全角字符 Matcher matcher; int lineNum = 1; while (line != null) { matcher = pattern.matcher(line); if (matcher.find()) { System.out.print("第" + lineNum + "行找到全角字符:\t"); System.out.print(matcher.group(0)); while (matcher.find()) { //有可能一行中有多个全角字符 System.out.print(matcher.group(0)); } System.out.println(); } line = br.readLine(); lineNum++; } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }输入文件test.txt内容如下:
1233435334jsljfs slfjslaiewk sjflkskfslkfjwelk skjfljskjklsjlkkk sfslkfsksfjsdkjfks输出内容如下:
第1行找到全角字符: 334 第4行找到全角字符: kkk 第5行找到全角字符: sfslkfs本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报