TypeError: expected string or buffer

1229 ワード

Reをよくチェックしてください.match(pattern, string) re.search(pattern, string), re.findall(pattern,string)
中のパラメータのタイプは、タイプが間違っているためにTypeError:のエラーが発生するのが一般的です
TypeError: expected string or buffer
f = open('a url')
new = f.read()
derp = re.findall(r'
    (.*?)
', new) line = derp def striphtml2(data): p = re.compile(r'\d') return p.sub(' ', data) new = striphtml2(line) #removes anything in <> def striphtml(data): p = re.compile(r'<.>') return p.sub(' ', data) ninja = striphtml(new)

エラーの原因は主にここでnew=striphtml 2(line)、lineは文字列ではなく文字列リストで、typeで見るとわかります.また、正規の使用に注意してください.中にはパターン列と一致する列が文字列タイプでなければなりません.エラーの原因は実はタイプエラーで、strに変換してから避けることができます.