python里使用difflib庫的比較文本時丟棄不要的字符


在比較里,常常發現一些空格字符沒有用,想把它們丟掉,有沒有方法呢?肯定是有的,這里就介紹一個SequenceMatcher的使用。例子如下:
#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游戲開發入門

你也能動手修改C編譯器

紙牌游戲開發

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



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com