2017-04-24 253 views
-1

我正在尋找一個Python中的函數,其工作原理與SQL中用於匹配字符串的'%'完全相同。我需要這樣來匹配一些由於導出方式而具有奇怪間距的字符串,所以我需要在每個單詞之間放入%來查找我想要的字符串。模糊字符串匹配python

例如:

「你好你怎麼樣」

「你好你怎麼樣」

「你好你怎麼樣」

「你好你怎麼樣」

我想用sql的方式將字符串匹配到「%Hello%%how%%%%」

+0

嘗試'fnmatch'模塊或(更復雜的匹配)'re'模塊。 – kindall

+0

我不明白你的情況。你能添加例子嗎? – VMRuiz

回答

0

請解釋更多,但我覺得你的意思是這樣的:

def re_string(your_string): 

    renew_string = your_string.split(' ') 

    buffer_result = [] 
    for words in renew_string: 
     if words.replace(' ', '') == '': 
      pass 
     else: 
      buffer_result.append(words) 

    last_data = '%'.join(buffer_result) 
    return last_data 


print(re_string("Hello how are you")) 
print(re_string(" Hello how are you")) 
print(re_string(" Hello how are   you")) 
print(re_string(" Hello how are you ")) 

OUTPUT:

>> Hello%how%are%you 
>> Hello%how%are%you 
>> Hello%how%are%you 
>> Hello%how%are%you