Есть список запрещенных символов. Хочу проверить их наличие в строке.
exceptions = ['\\', '/', '|', '<', '>', '?', ':', '"', '*'] test_str = 'some:text' for i in exceptions: if test_str.find(i) != -1: print('все пропало')
exceptions = ['\\', '/', '|', '<', '>', '?', ':', '"', '*'] test_str = 'some:text' for i in exceptions: if test_str.find(i) != -1: print('все пропало')
exceptions = ['\\', '/', '|', '<', '>', '?', ':', '"', '*'] test_str = 'some:text\\>' g = lambda x: print(x) if x in exceptions else None list(map(g, test_str)) : \ > Process finished with exit code 0
JOHN_16Согласен, и это планировалось делать разными функциями, но перед тем как что-то исправлять, я хотел провести проверку, а надо ли что-то исправлять.
Проверить вхождение недопустимых символов и исправить ситуацию это разные вещи.
JOHN_16Знаком и проверю время работы, когда Вы напишете, как осуществить проверку вхождения символа
В питоне есть такой модуль timeit, который поможет понять какой кусок кода работает быстрее.
import re test_str = 'some:text\>' exception_chars = '\\\/\|<>\?:"\*' find_exceptions = re.compile('([{}])'.format(exception_chars)) res = find_exceptions.findall(test_str) if res: print('string "{}" contains except chars: {}'.format(test_str, res)) >>> string "some:text\>" contains except chars: [':', '\\', '>'] >>>