申し訳ありませんが、Googleが私に与えてくれた解決策の中から実際の解決策を見つけることはできませんでした。(いくつかのサイトでいくつかの "レシピ"bvCase insensitive Regex Dictionaryからの置換
私はファイルの名前を変更していますので、ファイル名を吐き出す関数があります。これは単に 'test_string's'を使っています。 : これらのすべての教授が異なったやり方で最も一般的なものであり、これらのすべてのものを取り除くことなく扱うことが不可能なので、すべての点(および下線)やものが最初に削除されます。 5例:
test_string_1 = 'legal.studies.131.race.relations.in.the.United.States.'
'legal.studies' - > '法学'
test_string_2 = 'mediastudies the triumph of bluray over hddvd'
'mediastudies' - > 'メディア研究'、 'ブルーレイ' - >「ブルーレイ 'HDDVD' - - > 'HD DVD'
test_string_3 = 'computer Science Microsoft vs unix'
'コンピュータサイエンス' - > 'コンピュータサイエンス'、 'UNIX' - > 'UNIX'
test_string_4 = 'Perception - metamers dts'
'知覚' は既に(良いでしょうが、誰心配)、大きな絵はとても 'DTS'、彼らはそこでオーディオ情報を保存しておきたいです - > DTS
test_string_5 = 'Perception - Cue Integration - flashing dot example aac20 xvid'
'aac20' - > 'AAC2.0'、 'xvidから' - > ' XviDの」
は、現在、私のようなものを介してこれを実行している:私はそれらすべてが1行にまとめてsmushed持っ
new_string = re.sub(r'(?i)Legal(\s|-|)Studies', 'Legal Studies', re.sub(r'(?i)Sociology', 'Sociology', re.sub(r'(?i)Media(\s|-|)Studies', 'Media Studies', re.sub(r'(?i)UNIX', 'UNIX', re.sub(r'(?i)Blu(\s|-|)ray', 'Blu-ray', re.sub(r'(?i)HD(\s|-|)DVD', 'HD DVD', re.sub(r'(?i)xvid(\s|-|)', 'XviD', re.sub(r'(?i)aac(\s|-|)2(\s|-|\.|)0', 'AAC2.0', re.sub(r'(?i)dts', 'DTS', re.sub(r'\.', r' ', original_string.title()))))))))))
。私は変更/更新していないので(私の脳/ ADDの仕組みのように)、私は一度は他のことをやっているうちに、できるだけ最小限/最小限にする方が簡単ですもうこの部分と一緒に。
だから、私の例で:私は本当に私は辞書か何かを持っていたいもののようなものになることを始めているこれらのより多くを持っているように
new_test_string_1 = 'Legal Studies 131 Race Relations In The United States'
new_test_string_2 = 'Media Studies The Triumph Of Blu-ray Over HD DVD'
new_test_string_3 = 'Computer Science Microsoft Vs UNIX'
new_test_string_4 = 'Perception - Metamers DTS'
new_test_string_5 = 'Perception - Cue Integration - Flashing Dot Example AAC2.0 XviD'
しかし、 - 私は「ドンクレイジーにコードを爆破したくはありませんが、実際の生活の例が追加されるようになると新しい置換を加えることができるようにしたいと考えています(たとえば、オーディオコーデック/コンテナ/そこに、私はちょうどそれらをすべて投げなければならないかもしれないように見える)。私はこのマスターリスト/辞書/どのような方法で使用されているかについて意見はありません。
大きな画像:ファイル名に空白とアンダースコアを入れて大文字で置き換えています(現時点では、私が作っているresを除いて、大文字小文字が完全ではなく、出力に必要な入力にスペース、ダッシュ、ドットなどがある場合とない場合があります。
同様に、名前の付いていない(ラムダなどの)関数が1ライナーであることが望ましいでしょう。
P.S. 奇妙なものや初期の明快さの欠如のために申し訳ありません。ここでの問題の1つは私の主要な/研究の中にあります。ほとんどのものは実際にはかなり簡単ですが、Blu-ray、HD DVD、DTS、AAC2.0、XviDなどすべてのクラスが必要です。
せずにそれを行うためのより良い方法は何ですか?少なくとも3と同じように。 – Jack
あなたの例は実際には「法律学131のレース関係を「法律学131のレース関係」ではなく」 – jamylak
@Jack申し訳ありません、私はこれを2回、それは質問を提出する前に、より良い例ではなく、私を助けようとしている人々にとってより多くの例が悪化することを決めました。次回私が質問したときに私がたくさんあることを確かめる必要があります。 = D –