forked from kuaikang/python3
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstring_util.py
More file actions
33 lines (23 loc) · 850 Bytes
/
Copy pathstring_util.py
File metadata and controls
33 lines (23 loc) · 850 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import Levenshtein
import re
import uuid
def get_hamming(str1, str2):
"""计算汉明距离。要求str1和str2必须长度一致。是描述两个等长字串之间对应 位置上不同字符的个数。"""
return Levenshtein.hamming(str1, str2)
# 格式化名称
def valid_name(name):
reg = re.compile(r'[\\/:*?".<>| 《》◎:0123456789\r\n]+')
valid = reg.findall(name)
if valid:
for v in valid:
name = name.replace(v, '')
return name
def get_similarity(str1, str2):
"""得到字符串相似度,返回float类型"""
return Levenshtein.ratio(str1, str2)
def get_uuid():
return str(uuid.uuid4()).replace("-", "")
if __name__ == '__main__':
print(get_similarity("hai我是", "1、我是谁"))
print(Levenshtein.ratio("走近科学", "走进科学"))
print(get_uuid())