В некоторых ситуациях regexp может помочь. Вот пример, который я проверил в Oracle, и он работает.
select * from my_table where REGEXP_LIKE (search_column, 'value1|value2')
Но с ним существует ряд недостатков:
Пробелы с обеих сторон:
s = " \t a string example\t "
s = s.strip()
Пробелы с правой стороны:
s = s.rstrip()
Пробелы с левой стороны:
s = s.lstrip()
Как thedz , вы можете предоставить аргумент для удаления произвольных символов для любой из этих функций следующим образом:
s = s.strip(' \t\n\r')
Это приведет к удалению любого пробела, \ t
, \ n
или \ r
символов с левой, правой или обеих сторон строки.
В приведенных выше примерах удаляются только строки с левой и правой сторон строк. Если вы также хотите удалить символы из середины строки, попробуйте re.sub
:
import re
print re.sub('[\s+]', '', s)
Это должно распечатать:
astringexample
Для начальных и конечных пробелов:
s = ' foo \t '
print s.strip() # prints "foo"
В противном случае, работает регулярное выражение:
import re
pat = re.compile(r'\s+')
s = ' \t foo \t bar \t '
print pat.sub('', s) # prints "foobar"