9Попробуй это.
<Grid container spacing={24}>
<Grid item xs={3}>
Column text
</Grid>
<Grid item xs={3} lg={9}>
<Map/>
</Grid>
Ваш regex должен быть (\s)
вместо (\W)
как это:
l = re.compile("(\s)").split(s)
Код выше даст Вам точный вывод, который Вы запросили. Однако следующая строка имеет больше смысла:
l = re.compile("\s").split(s)
который разделяет на пробельных символах и не дает Вам все пробелы как соответствия. Вам, возможно, понадобятся они, хотя, таким образом, я отправил оба ответа.
Попытайтесь определить кодирование для регулярного выражения:
l=re.compile("\W", re.UNICODE).split(s)
Я думаю, что это - излишество для использования regexp в этом случае. Если единственная вещь, которую Вы хотите сделать, разделяется строка на пробельных символах, я рекомендую использовать split
метод на строке
s = 'La felicità è tutto'
words = s.split()
Ну, после того, как некоторые дальнейшие тесты на Andrew Hare отвечают, что я видел, что символ как () [] - и так далее больше не рассматривают как разделитель, в то время как я хочу разделить предложение (поддерживающий весь разделитель) в словах, составленных с ансамблем алфавитно-цифрового набора значений, в конечном счете расширенного с символами с диакритическим знаком (то есть, все отмеченное как алфавитно-цифровое в unicode). Так, решение kgiannakakis более корректно, но это пропускает преобразование строки s в unicode формат.
Возьмите это расширение первого примера:
# -*- coding: utf-8 -*-
import re
s="(La felicità è tutto)"#no explicit unicode given string (UTF8)
l=re.compile("([\W])",re.UNICODE).split(unicode(s,'utf-8'))#split on s converted to unicode from utf8
print " string> "+s
print " wordlist> "+str(l)
for i in l:
print " word> "+i
Вывод теперь:
string> (La felicità è tutto)
wordlist> [u'', u'(', u'La', u' ', u'felicit\xe0', u' ', u'\xe8', u' ', u'tutto', u')', u'']
word>
word> (
word> La
word>
word> felicità
word>
word> è
word>
word> tutto
word> )
word>
Это точно, что я ищу.
Аплодисменты :)
Alessandro
с использованием регулярного выражения Юникода будет работать, если вы дадите ему для начала строку Юникода (которой у вас нет в приведенном примере). Попробуйте следующее:
s=u"La felicità è tutto" # "The happiness is everything" in italian
l=re.compile("(\W)",re.UNICODE).split(s)
print " s> "+s
print " wordlist> "+str(l)
for i in l:
print " word> "+i
Результаты:
s> La felicità è tutto
wordlist> [u'La', u' ', u'felicit\xe0', u' ', u'\xe8', u' ', u'tutto']
word> La
word>
word> felicità
word>
word> è
word>
word> tutto
Ваша строка s
создана как тип str
и, вероятно, будет иметь кодировку utf-8, которая отличается от Unicode.