python3 词法拆分
1.可以利用translate+string模块
2.可以利用jieba进行分词(结巴分词会分成词,但是我需要断句,所以这里不用)
3.利用python内置函数解决
仅仅只列出第3种方法,其他两种方法更加简单点所以就不列出来了。上代码:
s = input("搜一搜:")
py = zw = sz = fh = ''
py_list = []
zw_list = []
sz_list = []
fh_list = []
py_num = zw_num = sz_num = fh_num = 0
for i in range(len(s)):
if s[i].encode('UTF-8').isalpha():
if(i == py_num or i-py_num==1 or py == ''):
py += s[i]
py_num = i
else:
py_list.append(py)
py = ''+s[i]
py_num = i
elif (s[i].isdigit()):
if (i == sz_num or i - sz_num == 1 or sz == ''):
sz += s[i]
sz_num = i
else:
sz_list.append(sz)
sz = '' + s[i]
sz_num = i
elif (s[i].isalpha()):
if (i == zw_num or i - zw_num == 1 or zw == ''):
zw += s[i]
zw_num = i
else:
zw_list.append(zw)
zw = '' + s[i]
zw_num = i
else:
if (i == fh_num or i - fh_num == 1 or fh == ''):
fh += s[i]
fh_num = i
else:
fh_list.append(fh)
fh = '' + s[i]
fh_num = i
if py not in py_list:
py_list.append(py)
if sz not in sz_list:
sz_list.append(sz)
if zw_list not in zw_list:
zw_list.append(zw)
if fh not in fh_list:
fh_list.append(fh)
print('数字:{}\n中文:{}\n拼音:{}\n符号:{}\n'.format('、'.join(sz_list),'、'.join(zw_list),'、'.join(py_list),''.join(fh_list)))
python3 词法拆分的更多相关文章
- 应注意的Flex&Bison潜规则
1.Flex的二义性模式 语法分析器匹配输入时匹配尽可能多的字符串 如果两个模式都可以匹配的话,匹配在程序中更早出的模式. 针对这一点的理解,在语法分析文件当中,token的识别,应从特殊到一般的过程 ...
- 编译原理_P1004
龙书相关知识点总结 //*************************引论***********************************// 1. 编译器(compiler):从一中语言( ...
- 浅谈JavaScript代码性能优化2
一.减少判断层级 从下图代码中可以明显看出,同样的效果判断层级的减少可以优化性能 二.减少作用域链查找层级 简单解释下,下图中第一个运行foo函数,bar函数内打印name,bar作用域内没有name ...
- Python3基础 tuple 通过拆分元组向元组中加入新的元素
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Python3基础 tuple 通过拆分元素 把元组的数据删除
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Python3基础 str 通过拆分字符串与插入新的内容形成新的字符串
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Python3.x:第三方库简介
Python3.x:第三方库简介 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex ...
- Python3中的字符串函数学习总结
这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...
- python3爬虫 url管理器
import urllib.request #python3中将urllib2拆分为了urllib.request.urllib.error.urllib.response等 import http. ...
随机推荐
- 第三周学习总结-Java
2018年7月29日 这是暑假第三周.这一周我把找到的Java教学视频看完了. 本周学到了Java剩余的基础知识,比如:抽象类.接口.内部类.几种常用类.IO流.多态.多线程等等. 因为没有书,所以我 ...
- easyui合并多个单元格
$('#table-v2').datagrid({ url: './data/am/data1_table.json', pagination: true, //显示分页 fit: true, //d ...
- ubuntu下如何编译C语言
ubuntu下如何编译C语言 如果没有gcc编译器的话,使用以下命令获取 ~# sudo apt-get install gcc同时要下载辅助工具 ~# sudo apt-get instal ...
- How does exercise keep your brain young?
Exercise may protect the brain from disease and dementia as we age, but the mechanisms behind its be ...
- Python推荐系统库--Surprise实战
一.使用movieLens数据集 from surprise import KNNBasic, SVD from surprise import Dataset from surprise impor ...
- 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用.为了保证其高可用,单个服务 ...
- Linux下Nginx安装/启动/重启/停止
Nginx是高性能的web服务器也是非常好用反向代理服务器,可以实现负载均衡,动静分离等策略,在linux下用的非常多.下面是下载地址 http://nginx.org/en/download.h ...
- Typora开启行内公式
文件→偏好设置→Markdown,勾选内联公式,重启typora 输入$,按Esc键会自动在后面加上一个$,然后在这两个$之间输入公式.
- MySQL 命令总结
MySQL命令总结 1.数据库操作 查看在当前服务器中有多少个数据库 创建数据库 >CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLL ...
- spark学习之路1--用IDEA编写第一个基于java的程序打包,放standalone集群,client和cluster模式上运行
1,首先确保hadoop和spark已经运行.(如果是基于yarn,hdfs的需要启动hadoop,否则hadoop不需要启动). 2.打开idea,创建maven工程.编辑pom.xml文件.增加d ...