Я пытаюсь удалить любые предложения, содержащие странные символы, как тот, который содержит много странных символов подчеркивания.python удаление странных символов
sentence=='"____ __,_____________.._____________________"
Я сначала создать функцию, которая видит, странный характер и если это правда, мы игнорируем эту фразу:
def underscore_filter(s):
return "____ __," in s
filter_fn_list = [underscore_filter]
for fn in filter_fn_list:
if fn(sentence):
filter_match = True
break
if filter_match == True:
continue
Так на самом деле проблема лежит только с функцией части:
def underscore_filter(s):
return "____ __," in s
Я просто не понимаю, что, несмотря на то, что в моей функции был возвращен тот же шаблон подчеркивания, выход для этой функции, когда я вызываю ее, всегда является ложным. Что не так, и как я могу переписать этот код? Мне все еще нужно, чтобы он был в таком же формате.
Я добавил «продолжить» в конце, потому что мой код действительно просматривает строки CSV-файла. Если строка содержит странные символы, я пропущу эту строку.
Ваш отступа немного запутано , Это может быть артефакт для определения рендерера уценки на StackOverflow, или вы можете смешивать пространства и вкладки (не делайте этого ... запускайте с помощью 'python -t yourscript.py', чтобы получить предупреждение об этой проблеме). В любом случае код, который вы опубликовали, кажется подозрительным. 'filter_fn_list = [underscore_filter (s)]' будет либо '[True]', либо '[False]' (в зависимости от 's'), который не совпадает с его использованием позже ... Фактически, с этим код, я бы ожидал исключения какого-то рода ... – mgilson
Кстати, в соответствии с вашим кодом 'if filter_match == True: continue' совершенно не нужно. – ozgur
Почему символы подчеркивания weird? Справедливости ради, они, вероятно, так думают. – tripleee