python里使用difflib库的比较文本时丢弃不要的字符
2017-11-27 18:31
441 查看
在比较里,常常发现一些空格字符没有用,想把它们丢掉,有没有方法呢?肯定是有的,这里就介绍一个SequenceMatcher的使用。例子如下:
结果输出如下:
A = ' abcd'
B = 'abcd abcd'
Without junk detection:
a = 0
b = 4
size = 5
A[a:a+size] = ' abcd'
B[b:b+size] = ' abcd'
Treat spaces as junk:
a = 1
b = 0
size = 4
A[a:a+size] = 'abcd'
B[b:b+size] = 'abcd'
深入浅出Numpy
五子棋游戏开发
http://edu.csdn.net/course/detail/5487
#python 3.6 #蔡军生 #http://blog.csdn.net/caimouse/article/details/51749579 # from difflib import SequenceMatcher def show_results(match): print(' a = {}'.format(match.a)) print(' b = {}'.format(match.b)) print(' size = {}'.format(match.size)) i, j, k = match print(' A[a:a+size] = {!r}'.format(A[i:i + k])) print(' B[b:b+size] = {!r}'.format(B[j:j + k])) A = " abcd" B = "abcd abcd" print('A = {!r}'.format(A)) print('B = {!r}'.format(B)) print('\nWithout junk detection:') s1 = SequenceMatcher(None, A, B) match1 = s1.find_longest_match(0, len(A), 0, len(B)) show_results(match1) print('\nTreat spaces as junk:') s2 = SequenceMatcher(lambda x: x == " ", A, B) match2 = s2.find_longest_match(0, len(A), 0, len(B)) show_results(match2)
结果输出如下:
A = ' abcd'
B = 'abcd abcd'
Without junk detection:
a = 0
b = 4
size = 5
A[a:a+size] = ' abcd'
B[b:b+size] = ' abcd'
Treat spaces as junk:
a = 1
b = 0
size = 4
A[a:a+size] = 'abcd'
B[b:b+size] = 'abcd'
深入浅出Numpy
http://edu.csdn.net/course/detail/6149
Python游戏开发入门
http://edu.csdn.net/course/detail/5690你也能动手修改C编译器
http://edu.csdn.net/course/detail/5582纸牌游戏开发
http://edu.csdn.net/course/detail/5538
五子棋游戏开发
http://edu.csdn.net/course/detail/5487
RPG游戏从入门到精通
http://edu.csdn.net/course/detail/5246
WiX安装工具的使用
http://edu.csdn.net/course/detail/5207
俄罗斯方块游戏开发
http://edu.csdn.net/course/detail/5110
boost库入门基础
http://edu.csdn.net/course/detail/5029
Arduino入门基础
http://edu.csdn.net/course/detail/4931
Unity5.x游戏基础入门
http://edu.csdn.net/course/detail/4810
TensorFlow API攻略
http://edu.csdn.net/course/detail/4495
TensorFlow入门基本教程
http://edu.csdn.net/course/detail/4369
C++标准模板库从入门到精通
http://edu.csdn.net/course/detail/3324
跟老菜鸟学C++
http://edu.csdn.net/course/detail/2901
跟老菜鸟学python
http://edu.csdn.net/course/detail/2592
在VC2015里学会使用tinyxml库
http://edu.csdn.net/course/detail/2590
在Windows下SVN的版本管理与实战
http://edu.csdn.net/course/detail/2579
Visual Studio 2015开发C++程序的基本使用
http://edu.csdn.net/course/detail/2570
在VC2015里使用protobuf协议
http://edu.csdn.net/course/detail/2582
在VC2015里学会使用MySQL数据库
http://edu.csdn.net/course/detail/2672
相关文章推荐
- python里使用difflib库的Differ来比较文本
- python里使用difflib库的unified_diff来比较文本
- python里使用difflib库的比较功能把一个序列变成另外一个序列
- Python----使用正则re取出文本中特定字符串X后面多少位的字符串;取特定字符串与其后多少位字符串
- 使用Python进行文本信息的比较并生成HTML报告
- 24. PowerShell -- 使用特殊文本命令(-contains字符串比较,-like 匹配字符)
- 不要在cookie中使用特殊字符的原因分析
- 不要在cookie中使用特殊字符的原因分析
- asp.net 数据绑定 使用eval 时候报 字符文本中的字符太多 问题的解决方法
- asp.net 数据绑定 使用eval 时候报 “字符文本中的字符太多” 问题解决
- Perl与Python处理文本数值的一个比较
- 使用Python的MD5模块比较两个文件是否一致
- 使用Python和vim插件结合让Vim支持多文件夹比较
- 字符基本操作、使用SYMBOLS、使用消息程序、使用文本程序
- [每天一题]删除字符串中的重复字符(不要使用额外空间)
- IO 使用File创建文本 streamwrite 写入字符,streamread输出字符
- javascript使用Array、join做字符存储和直接使用+号拼接字符串的执行效率比较
- 不要在Windows DLL内部使用函数指针进行比较!
- 使用Python删除文本文件中的部分内容
- 使用Python的MD5算法比较两个文件