我有大量的字串對,例如:
s1 = 'newyork city lights are yellow'/span>
s2 = '紐約的城市是大的'。
我想寫一個函式,得到s1和s2(不管順序如何),并輸出:
s1_output = 'new york city lights are yellow'>'紐約市是大的'。
這樣,s2中的newyork被分離成new york 或者至少,找到第二個字串中與其他元素相匹配的元素,只需插入一個字符即可。
所匹配的標記并不事先知道,而且在文本中也不是必須的 有什么想法嗎?
uj5u.com熱心網友回復:
像這樣的東西可以作業
s1 = 'newyork city lights are yellow'>'紐約的城市很大'。
# 去除前導/后導的空白
s1 = s1.strip()
# 將字串分割成單詞串列,默認情況下,分隔線為''。
words_s1 = s1.split()
s2 = s2.strip()
words_s2 = s2.split()
# 對于串列1中的每個詞,將其與串列2中相鄰的(連接的)詞進行比較 。
for word in words_s1:
for i in range(len(words_s2)-1) 。
if word == words_s2[i] words_s2[i 1] 。
print(f "Word #{words_s1. index(word)}在s1中與單詞#{i}和#{i 1}在s2中匹配"/span>)
它可以按照你描述的方式來匹配單詞。基本上,這個想法是你在串列1中回圈,并與串列2中的相鄰單詞進行檢查。
你也可以以相反的方式進行回圈(回圈通過 s2 并檢查它是否與 s1 中的相鄰單詞相等),以檢查兩個方向。
你需要跟蹤匹配的位置,然后你只需要用這些資訊建立一個新的字串。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/324441.html
標籤:
