2015-05-07 3 views
0

Как я могу знать, еслипитон - как проверить, если строка содержит пробелы вокруг

word = " a " 

имеет пустое пространство вокруг него (что он делает здесь, но слово является динамическим), а затем, если и только если это произойдет, то strip() это?

+10

Что случилось с просто вызовом 'word.strip()' каждый раз? – EdChum

+1

Будет ли каждая строка выглядеть так? Если это так, я бы предложил просто strip() на каждой строке, даже не утруждая себя проверкой. – canyon289

+0

Вы имеете в виду .strip() –

ответ

0

Это может показаться довольно глупо, но, как вы говорите о только один пространство, почему бы не сделать так:

>>> a=" a " 
>>> a[0]==' ' and a[-1]==' ' 
True 

А потом

if a and a[0]==' ' and a[-1]==' ': 
    #do the stuff you want to do 
+0

вы также должны проверить, не пусто ли он – kosii

+0

@kosii, вы правы, отредактировано, что – ForceBru

0
можете

вы не просто strip() все слова, вы не получите тот же результат?

0

Сравните длину до и после?

word = " a " 
stripped = word.strip() 
if len(word) != len(stripped): 
    return stripped 
else: 
    return word 
5

Нет необходимости проверять перед снятием. Просто используйте str.strip(); это сделать безопасно, если нет пробелов вокруг текста:

word.strip() 

Если вам действительно нужно, чтобы проверить, можно использовать str.startswith() и str.endswith() с кортежами:

whitespace = tuple(' \n\r\t') 
word.startswith(whitespace) or word.endswith(whitespace) 

верно, если есть пробелы в начале или в конце.

+0

allright, thanks – doniyor

Смежные вопросы