Форум сайта python.su
Доброго времени суток, я в питоне без пяти минут и уже зафейлился по полной.
Нужно составить алгоритм - фильтр строки на “A”-“Z”, “a”-“z”, “0”-“9”, “\”, “_”, “ ”
я вижу это так:
input = "my_str+---=()" result = ""; for char in input: if Char_in_A_Z_upper(char): result = result + char; if Char_in_0_9(char): result = result + char; if Char_in_a_z_lower(char): result = result + char; if Char_in_additional(char): result = result + char;
Отредактировано maloun (Сен. 26, 2014 20:12:55)
Офлайн
malounПокажи входные данные и ожидаемый результат.
фильтр строки на “A”-“Z”, “a”-“z”, “0”-“9”, “\”, “_”, “ ”
Офлайн
Budulianin
Покажи входные данные и ожидаемый результат.
Str = "string_te+-===st" def char_in_range(AChar, AFirstChar,ALastChar): Range = " ".join(map(chr, range(ord(AFirstChar),ord(ALastChar)+1))) for Char in Range: if Char == AChar: return True return False result = " " for char in Str: if char_in_range(char, '0', '9'): result = result + char if char_in_range(char, 'A', 'Z'): result = result + char if char_in_range(char, 'a', 'z'): result = result + char if char == "\\": result = result + char if char == "_": result = result + char if char == " ": result = result + char print(result) >>> ================================ RESTART ================================ >>> string_test
Отредактировано maloun (Сен. 26, 2014 20:54:11)
Офлайн
Не, судя по твоему коду не так надо тебе.
''.join(re.findall(r'[a-zA-Z0-9\\ _]', input))
re.sub(r'[^a-zA-Z0-9\\ _]', '', input)
Отредактировано Budulianin (Сен. 26, 2014 21:15:14)
Офлайн
maloun
и как же составить строку попадающую под описание “всё кроме A-Z,a-z,0-9,\\,\_,\s” ?
Отредактировано Budulianin (Сен. 26, 2014 21:13:19)
Офлайн
спасибо за апишки и пример использования,
теперь знаю в какую сторону копать
Офлайн