」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 Python 中以空格分割字串,同時保留引用的子字串?

如何在 Python 中以空格分割字串,同時保留引用的子字串?

發佈於2024-11-08
瀏覽:816

How to Split Strings by Spaces While Preserving Quoted Substrings in Python?

在Python 中按空格分割字串同時保留帶引號的子字串

處理同時包含空格和帶引號的子字符當字串的字串時,可能會遇到困難準確地分割字串,同時保持引用部分的完整性。在 Python 中,shlex 模組為此特定場景提供了解決方案。

使用shlex.split() 保留引號

shlex.split() 函數可讓您用空格分割字串,同時將引號的子字串視為一個單元。這意味著帶引號的子字串中的空格將被忽略,並且帶有引號的文字將在結果清單中保留為單一元素。

用法範例:

考慮以下字串:

this is "a test"

要使用shlex.split()拆分此字串,只需導入模組並使用以下程式碼:

import shlex
result = shlex.split('this is "a test"')

結果變數將包含以下列表:

['this', 'is', 'a test']

引用的子字串(“a test”)中的空格已被忽略,並且引用的文本已被保留為單一element.

保留引號

如果您還想在結果清單中保留引號本身,您可以將posix=False 關鍵字參數傳遞給shlex。 split().

例如:

result = shlex.split('this is "a test"', posix=False)

這將產生以下列表:

['this', 'is', '"a test"']

引號現在已保留為輸出的一部分。

總而言之,Python 中的 shlex.split() 函數提供了一種方便高效的方法用空格分割字串,同時保留帶引號的子字串的完整性的方法。透過使用 posix=False 關鍵字參數,您也可以在結果清單中保留引號。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3