JAVA 仿 MS word 字数统计

// TODO caihao 2016-11-06 字数统计 工具类
/**
* 统计字数,参照MS office word 2007规则
* @param context 文本内容
* @return 字数
*/
public int getMSWordsCount(String context){
int words_count = 0;
//中文单词
String cn_words = context.replaceAll("[^(\\u4e00-\\u9fa5,。《》?;’‘:“”【】、)(……¥!·)]", "");
int cn_words_count = cn_words.length();
//非中文单词
String non_cn_words = context.replaceAll("[^(a-zA-Z0-9`\\-=\‘;.,/[email protected]#$%^&*()_+|}{\":><?\\[\\])]", " ");
int non_cn_words_count = 0;
String[] ss = non_cn_words.split(" ");
for(String s:ss){
if(s.trim().length()!=0) non_cn_words_count++;
}
//中文和非中文单词合计
words_count = cn_words_count + non_cn_words_count;
return words_count;
}

public static void main(String[] args) {

String context=
 "萧楠松了口气,乖乖的点了点头,紧抓着他宽厚的手,闭上了眼睛。 半响后,她睁开双眸,苦着脸,“我睡不着了。” 苏景衍没答话,她酝酿了一下,再次说道,“你陪我聊会儿天吧。” “……” “我们是怎么在一起的?”对于这个,萧楠的兴致似乎显得高涨。 “你都忘了,再提有什么用?”他目光灼灼的对上她的双眸,萧楠清晰的捕捉到他那一闪而过的落墨,是因为她吗? 她无辜的咬了咬唇瓣,“苏景衍,如果我真的爱你,我会想起来的。” 因为,这个世界上最可悲的,莫过于忘了自己最深爱的那个人。 苏景衍沉默了半响,到底是什么都没说,又拍了拍她的后背,“很晚了,睡吧。” 萧楠确实是累了,外面的雷声似乎小声了许多,又抑或是身旁有他在,让她安心了下来,不一会儿就呼呼睡了起来。 萧楠醒来的时候,楚慕乔已经不再房间里了,外面也放晴了天,和昨晚吓人的模样截然相反。 在家里呆了几天,天天抱着电脑在网上搜索消息什么的,萧楠也大抵跟上了现在的网络科技还有二十一世纪人的思维。 这几天,她把能联系上的人全都联系了一遍,都纷纷艳羡不已的说,多亏了她当年的死缠烂打,才追得上苏景衍这个上等的老公。 且对于她失忆的事,丝毫不知。 “咔嚓!” 玄关传来了开门声,萧楠探长了脖子的看去,以为是苏景衍回来了,“回来了?” “呵,你以为以为是景衍回来了吗?” 大门,走进来一个陌生的妇人,身着着一袭紫色旗袍,白色的披肩盖住了她的肩膀,打扮精致的脸上丝毫看不出岁月的痕迹,一头长发被盘起。 身后还跟着一个年轻的女人,萧楠不认识两人,“你们是谁?为什么有我家的钥匙?” “放肆!” 妇人面露凶相,对于她的询问极为不满,“我是景衍的妈妈,为什么不能在这里?” 萧楠被她的一声低喝吓了一跳,退后了几步,一不小心脚碰上了沙发的边缘,倒在了沙发上。 吴君梅冷哼了一声,也跟着坐下,“看来真的如景衍说的一样,失忆了。” “你们……”萧楠咽了口口水,“你们有什么事吗?现在他不在家,要找他的话……” “不,我就是来找你的。” “找我?”萧楠又往旁边躲了躲,一副怕极了吴君梅的模样。 她的小举动落到吴君梅的眼里,让她一阵心烦意乱,“畏畏缩缩的,能撑得了什么场面。” 萧楠眸色一暗,抿唇不语。 “今天来,我就只有一件事。”吴君梅优雅的看了看自己描绘的精致的指甲,一笑,“给你一百万,跟我儿子离婚,反正你什么都不记得了,给了你钱赶紧拿着钱放过我儿子。对于你这种出身卑微的女人,死缠烂打的要跟着我儿子,能不知道你什么心思吗?” “我……”萧楠张了张嘴,正想说些什么反驳,吴君梅再次打断了她的话。 “你没什么可说的!”吴君梅干脆利落的掏出一张支票,上面已经填上了数字了,“之前,是看在你已经和景衍结婚的份上,现在,你也什么都不记得了,自然也不需要继续在我们苏家白吃白住了吧。” 吴君梅的冷嘲热讽一声一声的传到她的耳中,让她气的肝脏都搅和在一起揪着疼了。 “这位女士!” 她突地站了起来,纤细的手捻起那一张支票,看了一眼,随即撕了个粉碎,碎片撒了一地,“你说你是苏景衍的母亲,我尊重你,但是,也请你尊重我,我是失忆了,但我不是智障!” “你……”吴君梅没料到萧楠会忽然反驳她,气的瞪大了双眼,细长的手指直指着她,抖得花枝乱颤,看来确实气的不轻。 “我我我的,我什么啊?”萧楠直接朝她翻了一个白眼,打掉了指在她鼻尖的手,“首先这是我家,就算你是长辈,也请不要一上来就说三道四的,我和苏景衍在一起到底怎么样也不需要你的指手画脚,还有……” “妈,你别说了,你做这些事要是让哥哥知道了会不开心的。”一直沉默着的一个女孩子出声打断了她的话,拉住了吴君梅的手劝说道。 “咔嚓!” 玄关处传来开门声,吸引去了所有人的侧目,只见苏景衍拿着公文包正在玄关处换鞋,抬头,就见萧楠一脸的盛怒,吴君梅亦是如此。 “萧楠,怎么了?”他皱着眉。 萧楠冷哼了一声,直接转身上了楼,重重的把门摔上,发出‘砰’的一声巨响,震得偌大的屋子许久都还回旋着。 “你做了什么?”苏景衍随手把外套搭在沙发的边缘,脸色阴沉的厉害,语气如常,却让人背脊发凉。 吴君梅被他骇人的目光给吓得全身一震,“做什么?我是你的妈妈,你这是什么态度,还有,我这也是为你好,你还怪我?” “景衍哥哥,你也别生气,这件事是妈妈做的过火了,但是……” 苏景衍看了一眼楼上的方向,方才萧楠憋屈的模样像是刻在了他的心里一样。 冰冷的视线扫去,让她立刻闭了嘴。 “姚晴,你不需要插手这件事,我只要知道,她对她又做了什么?” 被唤为姚晴的女子额头冒着汗,看了看他,又看了看吴君梅,这才支支吾吾的坦白,“妈妈拿……拿了一百万让……萧楠跟你离婚。” 说到最后,姚晴的声音越来越小,直到最后几乎完全听不见任何声音。 苏景衍嘴角勾起一抹嘲讽的笑,“我的事,什么时候需要你来插手了?” “我可是你母亲!”吴君梅气的跺脚,厉声道。 “吴女士还是请回,还有,关于今天的事,要是再有下次,可别怪我不留情面了!” 他直接无视了她话里的‘母亲’二字,直接下了逐客令,话里带着深意,让人胆寒。"
;

TEST() test = new TEST();

int words_count = test.getMSWordsCount(context);

System.out.println("字数统计="+words_count );

}

时间: 2024-10-22 15:01:07

JAVA 仿 MS word 字数统计的相关文章

HDU1735 字数统计

字数统计 Time Limit: 1000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1221    Accepted Submission(s): 315 Problem Description 一天,淘气的Tom不小心将水泼到了他哥哥Jerry刚完成的作文上.原本崭新的作文纸顿时变得皱巴巴的,更糟糕的是由于水的关系,许多字都看不清了.可怜的Tom知道他闯下大祸

【J2SE】java仿windows记事本

基于J2SE实现的一个记事本程序. 运行程序截图: 工程目录结构: 程序代码: package com.hblg; import java.awt.BorderLayout; import java.awt.FileDialog; import java.awt.Font; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.aw

Java操作Microsoft Word之jacob

转自: 现在我们一起来看看,用Java如何操作Microsoft Word. jacob,官网是http://danadler.com/jacob 这是一个开源的工具.最新版本1.7 官方的解释是:The JACOB Project: A JAva-COM Bridge 这是官方对下载文件的说明: jacob.jar: a JAR file for the java classes which you must add to your CLASSPATH. The package names r

Java实现的一个词频统计程序

import java.util.HashMap; import java.util.Iterator; public class WordCount { public static void main(String[] args) { String[] text=new String[]{"the weather is good ","today is good","today has good weather","good weat

textArea剩余字数统计插件

效果如: js代码: /** * textArea字数统计 * * Created on : 2015-6-26, 11:49:24 * Author : tom [email protected] */ var wordTool = { /** * 初始化 * * @param json json数组格式,如[{id:"news1", max:300}, {id:"news2", max:600}] */ init: function (json) { $.eac

办公系统中MS Word文件转换为PDF技术方案

MS Word文件转换为PDF技术方案比较多,比较常见的方案是使用开源的OpenOffice,但是此方案存在兼容的问题,有些文件转换不了或出现问题.而采用现成的产品,成本又比较高.通过对各种Word转PDF解决方案的综合考察,采用在Windows平台调用Word接口的方案,是转换成功率最高的一种,在这里提供个折中的方案. 架设Windows服务器,并安装MS Office 2007,使用MS Office 2007转换PDF功能. Office 2007 只需安装一个加载项,就能导出文件并将其保

textarea还剩余字数统计,支持复制粘贴的时候统计字数

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>textarea还剩余字数统计 - 懒人建站 http://www.51xuediannao.com/</title> <style type="text/css"> body,a{ font-size: 14px; color: #555;;} .wordCo

Java 连接MS Access数据库

java连接MS Access的两种方式: 1.JDBC-ODBC Java连接Access可以使用MS自带的管理工具-->数据源(ODBC)设置建立连接,这样就不需要导入jar.但是,如此一来程序部署的每个机器上都要进行设置不方面.所以现在不会使用啦. 2.JDBC java也可以和连接其他数据库一样连接MS Access,导入数据库相应的jar包,进行连接. java Access JDBC jar包:Access_JDBC30.jar 具体连接,参考下面代码: 复制代码 1 try { 2

Javascript字数统计

字数统计功能,原理是给textarea添加onKeyup事件,事件读取textarea内容并获得长度,并赋值给统计字数的那个文本节点,这里有一点要注意的是添加onKeypress和onKeydown事件也能实现效果,但都有些不足,会在某些情况下造成误解,我都试了下,感觉只用一个onKeyup事件是最明智的选择. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title&g