Как связать ComboBox с универсальным словарем через ObjectDataProvider

Так как этот вопрос отмечен с regex, я решил попробовать подход regex. Я сначала заменяю все пробелы в кавычках, расстается с \x00, затем разделенным пробелами, затем замените \x00 назад к пробелам в каждой части.

Обе версии делают то же самое, но разделитель более читаем тогда splitter2.

import re

s = 'this is "a test" some text "another test"'

def splitter(s):
    def replacer(m):
        return m.group(0).replace(" ", "\x00")
    parts = re.sub('".+?"', replacer, s).split()
    parts = [p.replace("\x00", " ") for p in parts]
    return parts

def splitter2(s):
    return [p.replace("\x00", " ") for p in re.sub('".+?"', lambda m: m.group(0).replace(" ", "\x00"), s).split()]

print splitter2(s)
46
задан Dave Clemmer 23 August 2011 в 21:23
поделиться