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. ...
随机推荐
- SpringMvc框架MockMvc单元测试注解及其原理分析
来源:https://www.yoodb.com/ 首先简单介绍一下Spring,它是一个轻量级开源框架,简单的来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开 ...
- CentOS6.8安装MySQL5.7.20时报Curses library not found解决
报错如下: CMakeErroratcmake/readline.cmake:83(MESSAGE): Curseslibrarynotfound.Pleaseinstallappropriatepa ...
- 总结Java虚拟机内存区域模型
本篇文章主要来总结一下Java虚拟机内存的各个区域,以及这些区域的作用.服务对象以及其中可能产生的问题,作为大家的面试宝典. 首先我们来看一下Java运行时的数据区域,Java虚拟机在执行Java程序 ...
- bootstrap的模拟单选按钮
<div class="btn-group" data-toggle="buttons" id="radio"> <lab ...
- 【C++ Primer | 03】字符串、向量和数组
博客链接: c++ 中 const_iterator 和 const vector<>::iterator的区别 const vector <int> ::iterator和v ...
- vi不保存退出
To quit the vi editor without saving any changes you've made If you are currently in insert or appen ...
- [转] 【Monogdb】MongoDB的日志系统
记得前几天有个小伙伴要查看mongodb的日志,从而排查问题,可能总找不到日志放在何处,今天就系统说一下mongodb的日志系统.mongodb中主要有四种日志.分别是系统日志.Journal日志.o ...
- [转] meta标签的作用及整理
meta的标签的使用是我在前端学习中曾经困惑过一段时间的问题.一方面不是很了解meta标签的用途,另一方面是对于meta标签里的属性和值不是懂,也不知道从哪里冒出来的,所以这篇文章专门整理下meta标 ...
- 关于LookUp的切换实例
在关注了很久后发现还是有太多的东西没有记住,需要自己一步一步地去学习!不用太关注太多的杂乱的事,只用关注自己一点一滴,我相信所有的一切都会有一个很好的结局.
- HTML5拖放牛刀小试
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...