«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как разделить строки пробелами, сохранив подстроки в кавычках в Python?

Как разделить строки пробелами, сохранив подстроки в кавычках в Python?

Опубликовано 8 ноября 2024 г.
Просматривать:890

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']

Пробелы внутри подстроки в кавычках («тест») были проигнорированы, а текст в кавычках был сохранен как один элемент.

Сохранение кавычек

Если вы также хотите сохранить сами кавычки в результирующем списке, вы можете передать аргумент ключевого слова posix=False в shlex.split().

Например:

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

Это создаст следующий список:

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

Кавычки теперь сохранены как часть вывода.

В заключение, функция shlex.split() в Python предлагает удобный и эффективный способ разделения строк по пробелам, сохраняя при этом целостность подстрок в кавычках. Используя аргумент ключевого слова posix=False, вы также можете сохранить кавычки в результирующем списке.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3