在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