当前位置:编程学习 > JAVA >>

如何统计文档中某个特定词组(比方说姓名)出现的次数== 不是字符,

现在想要分析一部小说中不同人物出现的次数,,不是单个字符哦==
比如说神雕侠侣中杨过出现的次数。
找了不少资料和代码,发现大部分都是统计英文中单词出现的次数,而且英文中有空格可以用来分割,

但是一句话中要怎么提取出特定的一个词啊,(还要尽量考虑别名的情况,比如杨过还叫过儿啊===)

次数统计的方法可以用TreeMap就不用说了。。。
妈蛋的课设。。
求大神解答 --------------------编程问答-------------------- 对了 ,  因为文本要求是20万字以上  所以我用的是RandomAccess 读的文件 --------------------编程问答-------------------- 还有杨大哥,傻蛋... --------------------编程问答-------------------- 杨兄,杨兄弟,杨贤侄,杨相公,杨郎,大哥哥,杨居士,姓杨的,神雕侠,神雕大侠 --------------------编程问答-------------------- 杨少侠,杨大侠,姓杨名过,杨老弟,杨公子,杨某,杨哥哥,杨师弟,杨英雄,杨爷,杨家哥哥,姓杨的小子,杨小邪,杨君,杨相公 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 杨大爷,西狂,傻兄 --------------------编程问答--------------------
引用 3 楼 waynexuan 的回复:
杨兄,杨兄弟,杨贤侄,杨相公,杨郎,大哥哥,杨居士,姓杨的,神雕侠,神雕大侠

卧槽兄弟你太机智了,继续 --------------------编程问答--------------------
我晕! --------------------编程问答-------------------- 各位可以上点心么!妈蛋 --------------------编程问答-------------------- 正则表达式在有中文的时候可以用吗,如果可以,那就匹配吧 --------------------编程问答--------------------
引用 10 楼 dahlwuyn 的回复:
正则表达式在有中文的时候可以用吗,如果可以,那就匹配吧

我现在用的是Scanner,可以扫描一个人名了。但是因为人名储存在数组中,用For循环的话,扫描完第一个人,Scanner就读到文件末尾了,有没有一种循环可以让Scanner多次扫描的,不然就只能同样代码写十遍了== --------------------编程问答-------------------- 这个还是用全文检索吧。lucense --------------------编程问答-------------------- 推荐正则表达式 --------------------编程问答--------------------
引用 12 楼 huxiweng 的回复:
这个还是用全文检索吧。lucense

OH,不能再改了。。明天上午就要交了,今天还有一下午的课 --------------------编程问答--------------------
引用 13 楼 zhu19870712 的回复:
推荐正则表达式

11楼问题求解答。。。 --------------------编程问答-------------------- 你目前的方式应该是有多少组人名就会将整个文件扫描多少次吧,不能改成一次扫描匹配多组人名吗?
--------------------编程问答--------------------
引用 11 楼 u011228889 的回复:
Quote: 引用 10 楼 dahlwuyn 的回复:

正则表达式在有中文的时候可以用吗,如果可以,那就匹配吧

我现在用的是Scanner,可以扫描一个人名了。但是因为人名储存在数组中,用For循环的话,扫描完第一个人,Scanner就读到文件末尾了,有没有一种循环可以让Scanner多次扫描的,不然就只能同样代码写十遍了==
用那个可推回的输出流吧,或者随机读写文件流
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,