分词小程序

根据给出的正则式,构建分词程序,完成相应的分词任务,并返回所有单词以及单词类别。

<关键字>-> int |for| while | do | return | break | continue

<运算符>->   + | - | * | / |==| < | <= |!= | > | >=

<界符>-> , | ; | ( | ) | {|}

<标识符>-> letter (letter | digit)*

<整型常数>-> digit digit*

<小数>-> digit digit* . digit digit*

二 程序说明(关键代码)

public void getFenCi() throws Exception {

BufferedReader br = new BufferedReader(new InputStreamReader(

new FileInputStream(filePath)));

//遍历每一行

for (String line =br.readLine(); line != null; line = br.readLine()) {

String[] s1 = line.trim().split(" ");//得到空格分开的字符串数组并且去掉首尾空格

for(int i=0;i<s1.length;i++){

char[] CharArray= s1[i].toCharArray();

for(char c : CharArray) {

if(c >= ‘a‘ && c <= ‘z‘ || c >= ‘A‘ && c <= ‘Z‘) {//字母

if (match_4 == 1) {//之前是运算符

matchEqual_4();//将str设置为运算符

}

if (match_3 == 1) {//之前是整数

matchEqual_3();

}

str1 = str1 + c;

match_1 = 1;

} else if (match_4(c + "")) {//分隔符

if(match_1 == 1){

matchEqual_1();

}

if (match_4 == 1) {

matchEqual_4();

}

if (match_3 == 1) {

matchEqual_3();

}

str1 = "";

str1 = str1 + c;

setValue("5", str1);

str1 = "";

} else if (match_2(c + "")) {//标识符

if(match_1 == 1){

matchEqual_1();

}

if (match_3 == 1) {

matchEqual_3();

}

str1 = str1 + c;

match_4 = 1;

} else if (match_3(c + "")) {//数字匹配

if(match_1==1){

matchEqual_1();

}

if (match_4 == 1) {

matchEqual_4();

}

str1 = str1 + c;

match_3 = 1;

}

}

}

}

br.close();

}

思路总结

1程序主要利用str存储每一个分词,根据当前字符和前一个分词判断出是继续添加字符进分词,还是结束添加,并判断出分词类型,存储。最后通过map存储分词和类型。

2正则式只是实现一部分,但是小数都没有实现,离真正分词程序有很大不同。

3空格是默认的分隔符,每一行也应该是分隔的。因此用readline方法。并且通过line.trim().split(" ")得到空格分开的字符串数组并且去掉首尾空格。

时间: 2024-08-03 03:57:28

分词小程序的相关文章

Python 练习册,每天一个小程序

Python 练习册,每天一个小程序 说明: Python 练习册,每天一个小程序.注:将 Python 换成其他语言,大多数题目也适用 不会出现诸如「打印九九乘法表」.「打印水仙花」之类的题目 点此链接,会看到每个题目的代码, 欢迎大家 Pull Request 出题目,贴代码(Gist.Blog皆可):-) 本文本文由@史江歌([email protected] QQ:499065469)根据互联网资料收集整理而成,感谢互联网,感谢各位的分享.鸣谢!本文会不断更新. Talk is chea

Python练习册,每天一个小程序

Python练习册,每天一个小程序 精选评论关注该公众号可参与评论 写评论 加载中 以上评论由公众帐号筛选后显示 Python练习册,每天一个小程序 提交 我的评论 已评论 Python练习册,每天一个小程序 2014-12-15 程序猿 说明: ●Python 练习册,每天一个小程序.注:将 Python 换成其他语言,大多数题目也试用 ●不会出现诸如「打印九九乘法表」.「打印水仙花」之类的题目 ●欢迎大家 Pull Request 出题目,贴代码(Gist.Blog皆可):-) ●访问链接h

Python 练习冊,每天一个小程序

Python 练习冊,每天一个小程序 说明: Github 原文地址: 点击打开链接 Python 练习冊.每天一个小程序.注:将 Python 换成其它语言,大多数题目也试用 不会出现诸如「打印九九乘法表」.「打印水仙花」之类的题目 欢迎大家 Pull Request 出题目.贴代码(Gist.Blog皆可):-) Talk is cheap. Show me the code.--Linus Torvalds 第 0000 题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字.类似于微

1万字!彻底看懂微信小程序

Q:为什么说小程序如炮友? A:小程序刚发布不久就流行一个段子:APP如原配,一年不用几次:服务号如情人,一个月固定几次:订阅号如酒店小卡片,天天可以卖广告:小程序像炮友,用完就走. 资本如嫖客,各个平台和垂直类掠夺者已经瓜分掉了线上流量,那么未来争夺的流量战场必然在实体场景,很多巨头其实已经证明了线下流量庞大的潜力.在快递包裹上印上自己的二维码关注公众号形成二次寄出快递的粘性,PokemonGo让用户在实体地图上捕获小精灵. 未来的入口不限于二维码,而是一切的富媒体.二维码之于2D识别,复杂图

微信小程序--图片相关问题合辑

图片上传相关文章 微信小程序多张图片上传功能 微信小程序开发(二)图片上传 微信小程序上传一或多张图片 微信小程序实现选择图片九宫格带预览 ETL:微信小程序之图片上传 微信小程序wx.previewImage预览图片 微信小程序之预览图片 小程序开发:上传图片到腾讯云 .NET开发微信小程序-上传图片到服务器 微信小程序本地图片处理--按屏幕尺寸插入图片 [微信小程序]上传图片到阿里云OSS Python Flask小程序文件(图片)上传技巧 小程序图片上传阿里OSS使用方法 微信小程序问题汇

微信小程序——豆瓣电影——(2):小程序运行部署

Demo 预览 演示视频(流量预警 2.64MB) GitHub Repo 地址 仓库地址:https://github.com/zce/weapp-demo 使用步骤 将仓库克隆到本地: bash $ git clone https://github.com/zce/weapp-demo.git weapp-douban --depth 1 $ cd weapp-douban 打开微信Web开放者工具(注意:必须是0.9.092300版本) 必须是0.9.092300版本,之前的版本不能保证正

微信小程序开发初探

一.关于微信小程序 1.1 小程序诞生的背景 张小龙说道: (1)一切以用户价值为依归→用户是微信的核心,所以微信中没有很多与客户无关的功能,比如QQ中的乱七八糟一系列东西. (2)让创造发挥价值→所有围绕微信的创造比如公众号都应该发挥其应有的价值. (3)用完即走的高效服务→这一点就厉害了word天,微信要打造一个以微信为中心的生态链,不以绑定用户为目标.比如生活中有一些不太常用的app,我们可能一年也使用不了几次,但是有时候就需要用到,微信就想要提供这样一个平台,让你可以在微信中使用这中所谓

【小程序】获取微信 自带的 收货地址获取和整理

1.wx.chooseAddress(OBJECT) if(wx.chooseAddress){ wx.chooseAddress({ success: function (res) { console.log(JSON.stringify(res)) }, fail: function(err){ console.log(JSON.stringify(err)) } }) }else{ console.log('当前微信版本不支持chooseAddress'); } 2.数据处理,仅供参考 /

微信小程序学习总结(2)------- 之for循环,绑定点击事件

最近公司有小程序的项目,本人有幸参与其中,一个项目做下来感觉受益匪浅,与大家做下分享,欢迎沟通交流互相学习. 先说一下此次项目本人体会较深的几个关键点:微信地图.用户静默授权.用户弹窗授权.微信充值等等. 言归正传,今天分享我遇到的关于wx:for循环绑定数据的一个tips:  1. 想必大家的都知道wx:for,如下就不用我啰嗦了: <view class="myNew" wx:for="{{list}}">{{item.title}}<view