これはファイル名を読み取り、正規表現を使用して適切な形式をチェックします。問題は、ハイフンが常に存在するとは限らないためre.split()
、後で適切な文字列形式を「再構築」することが困難になる予測不可能な結果が生じる可能性があることですが、私はその方法を除外していません. のもう 1 つの問題split()
は、空白が後で残るため、文字列が再構築された後の利点が無効になることです。finditer()
だから私は別の正規表現を試してみましfindall()
たが、これらはまだ最初の6桁しか見つけられません。
適切なファイル名の例を次に示します (不適切な名前にはさまざまな空白があります)。
201308 - (82608) - MAC 2233-007-Methods of Calculus - Klingler, Lee.txt
ここに私が試してきたことのいくつかがあります.残りの混乱は割愛します(その周りのより大きなプログラム):
#res = re.findall(r"[\.\-]",f0)
res = [str(m.group(0)) for m in re.finditer(r'[^\-]', f0)]
if res: print res
else: print "error on %s"%res
s0 = "['@ @ @ @ @ @ @ @ 201308 ', ' (12345)', 'ABC 2233L', '007', 'course Name', 'last, first.txt']"
#s = f0.split('-'); s = s[0]; print "sssss ",s#,type(s)
不適切な空白を含む文字列の例は次のとおりです。
201308-(82609)-MAC 2233-007-Methods of Calculus - Klingler, Lee.txt
主な目標は、ファイル名 (任意の数の記号、文字、数字、空白で完全に間違っている可能性があります) を取り込み、それを適切な形式に変換することです。考えられるすべてのエラーをチェックすることはできないため、これらの方法を使用して、少なくとも余分な (または不足している) 空白を修正しようとしています。