1

私は完全な python noob ですので、気楽に行ってください。

私は現在、擬似ライブラリと呼ばれる kodi プラグインをハッキング/編集しているので、取得しているストリームのタイトルをクリーンアップして、見栄えの良い EPG に入れることができます。

現在、それらは次のようになっています。

[COLOR white]3E (Now - 07 - 30 That '70s Show) - .strm

ここでこれを生成するコードを特定しました:

FleName = (title + ' - ' + eptitle + '.strm').replace(":"," - ")
FleName = re.sub('[\/:*?<>|!@#$/:]', '', FleName)

そして次のように編集しました(私が知っている厄介なことは、私が初心者だと言ったように、はるかに良い方法があると確信しています!)

FleName = (title + '.strm').replace(":"," - ").replace("[COLOR white]","").replace("[COLOR blue]","")
FleName = re.sub('[\/:*?<>|!@#$/:]', '', FleName)

これにより、上記のタイトルが次のように変更されます。

3E (現在 - 07 - 30 ザット '70s ショー).strm

私が本当に出力したいのは次のとおりです。

3E.strm

私の問題に対する最も近い答えは次のとおりです。

https://stackoverflow.com/a/14599280

ただし、括弧内に削除する括弧もあり、上記では解決しません。

Zee Cinema (現在 - 19 - 15 Baazigar (1993)).strm

"(Now" の前後にあるすべての文字を削除するためにストリップを見てきましたが、うまくいきません。タイトルが

[COLOR white]3E (Now - 07 - 30 That '70s Show) - .strm OR

[COLOR white]Zee Cinema (現在 - 19 - 15 Baazigar (1993)).strm

タイトルと .strm だけを出力します。上記の例では、次のようになります。

3E.strm
Zee Cinema.strm

ご覧いただき、問題の解決に役立てていただければ幸いです。

4

3 に答える 3

4

FileName.split(']')[1].split('(')[0].strip() + ".strm"

于 2015-05-07T07:39:55.043 に答える
2

つまり、本質的にあなたはフォームの何かを持っています[something]text you want (something else).strmか?(これを解決する最も簡単な方法は、開始後と拡張前のすべてを無視することです。

re.sub(r"^[^\]]+\]([^(]+) \(.*\.strm$",r"\1.strm",FleName)

ただし、障害モードに注意してください。ほとんどの場合、ファイル名をまったく変更しないため、不適切な形式のファイル名に対しては失敗します。Craig のものは、ほとんどの場合、例外を除いて失敗します。不適切にフォーマットされたファイル名のより広い範囲に対して例外を発生させるために、より複雑なソリューションを作成できる可能性がありますが、これらのソリューションはいずれもそうではありません。

于 2015-05-07T07:41:15.553 に答える