使用 Python 合併具有後綴和字首的兩個字串


字串操作通常需要根據共享的字尾和字首序列合併兩個字串;字尾位於末尾,字首位於開頭。本文將展示如何使用 Python 語言合併具有後綴和字首的兩個字串。我們考慮了兩個示例,其中我們有兩個字串及其開頭和結尾字串重疊,目標是透過將這兩個字串連線在一起合併它們,而不會建立冗餘的重疊部分。結果,將有一個字串包含兩個原始字串中的所有字元,而無需不必要的重複或重複。在第二個示例中,我們使用字串連線並返回一個合併後的字串。

使用 Python 合併具有後綴和字首的兩個字串

程式碼解釋和設計步驟 -

  • 步驟 1 - 在 Anaconda 提示符中開啟 Jupyter Notebook 並開始在其單元格中編寫程式碼。

  • 步驟 2 - 定義合併函式,呼叫‘merge_strings’ 函式,帶兩個引數(st1 和 st2)。將兩個字串作為輸入並返回一個組合版本。

  • 步驟 3 - 確定最小重疊長度,此函式將執行計算最大可能的重疊部分長度。此長度表示較短的字串,因為重疊不能超過使用內建‘min’ 函式找到 s1 和 s2 之間此較短距離的任何字串長度。

  • 步驟 4 - 迭代可能的重疊長度,使用‘for’ 迴圈和範圍函式迭代從步驟 2 中計算出的最大值到零的所有可能的重疊長度,起始值為最大重疊長度,停止(迴圈中包含零),‘step =-1’ 作為每次迭代時減少長度也被採用。

  • 步驟 5 - 檢查一個字串的字尾是否與另一個字串的字尾匹配,在迴圈的每次迭代中,對於每個長度‘i’,我們檢查‘st1’ 的最後‘i’ 個字元是否與‘st2’ 中的字元匹配。要執行此操作,我們使用 Python 的 ends with 字串方法和切片。

  • 步驟 6 - 如果‘suffix’‘prefix’ 相等,則合併兩個字串並返回結果。如果‘endswith’ 返回true,則我們找到了長度為‘i’ 的重疊,在這種情況下,我們透過將‘st2’ 中不重疊的任何部分附加到‘st1’ 來合併。此過程在返回結果並停止此函式的執行之前使用字串連線(‘+’ 運算子)和切片。

  • 步驟 7 - 如果未找到重疊,則組合並返回。當我們的迴圈完成而沒有遇到重疊(endswith 始終返回 False)時,將字串‘st1’‘st2’ 連線在一起,然後在該迴圈完成後並在此迴圈中未遇到任何 return 語句後返回其組合值是我們最終的操作。此操作僅在成功完成後執行,除非之前在此迴圈中未遇到任何 return 語句。

  • 步驟 8 - 建立兩個要合併的字串。在進入我們的函式之前,我們定義了兩個字串作為我們函式的輸入。

  • 步驟 9 - 呼叫並列印函式。

示例 1

合併兩個字串的程式碼 -

def merge_strings(st1, st2):
   min_overlap_len = min(len(st1), len(st2))
   for i in range(min_overlap_len, -1, -1):
      if st1.endswith(st2[:i]):
         return st1 + st2[i:]
   return st1 + st2
# Example
str1 = 'hello world'
str2 = 'world peace'
print(merge_strings(str1, str2))

輸出

執行上述程式碼後,結果在控制檯上顯示為Hello world peace

hello world peace

使用字串連接合並具有後綴和字首的兩個字串

程式碼解釋和設計步驟 -

  • 步驟 1 - 在 Anaconda 提示符中開啟 Jupyter Notebook 並開始在其單元格中編寫程式碼。

  • 步驟 2 - 使用函式merge_strings_with_suffix_and_prefix 獲取兩個引數,例如‘prefix’‘suffix’。它使用 ‘+’ 運算子連線‘prefix’‘suffix’ 字串,並返回合併後的字串。

  • 步驟 3 - 檢查結果。

示例 2

使用字串連接合並兩個字串的程式碼 -

def merge_strings_with_suffix_and_prefix(prefix, suffix):
   merged_string = prefix + suffix
   return merged_string

# Example 
prefix = "Hello, "
suffix = "world!"
merged_string = merge_strings_with_suffix_and_prefix(prefix, suffix)
print(merged_string)

輸出

執行上述程式碼後,結果在控制檯上顯示為Hello, world!

Hello, world!

結論

在本文中,我們可以使用 Python 語言合併兩個字串。我們舉了兩個例子來理解合併字串的概念。字串操作是資料處理、生物資訊學(例如組裝 DNA 序列)和文字分析中不可或缺的一部分 - 並且是字串操作的一個關鍵方面,對文字挖掘和自然語言處理作為一個領域做出了重大貢獻。雖然是一項基本任務,但 Python 的標準庫缺乏執行此操作的內建函式,因此我們必須根據字串處理能力結合表達性語法找到我們自己的自定義解決方案,從而能夠有效地開發出有效的解決方案。

更新於: 2023年10月18日

367 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.