質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1027閲覧

2つの字幕ファイルを読み込んで、互い違いに表示させた1つのファイルを作成したいです。

dame-dame

総合スコア78

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/09/13 10:12

ちょっとマニアックなご質問です。srtという英語とフランス語の2つの字幕ファイルがあり
これを英語とフランス語並列表記にさせた1つの字幕ファイルを作りたいです。

**<英語の字幕ファイル>** 1 00:01:31,550 --> 00:01:33,259 October is inventory time, 2 00:01:33,343 --> 00:01:34,969 so right now, Statler Toyota 3 00:01:35,053 --> 00:01:36,929 is making the best deals of the year 4 00:01:37,014 --> 00:01:39,182 on all 1985-model Toyotas. 5 00:01:39,349 --> 00:01:40,808 You won't find a better car
**<フランス語の字幕ファイル>** << フランス語の文字化けの部分は無視していただきたく  1 00:01:16,578 --> 00:01:22,333 LE MANOIR BROWN DノVASTノ 2 00:01:31,593 --> 00:01:33,303 <i>Octobre est le mois des inventaires.</i> 3 00:01:33,386 --> 00:01:36,973 <i>Les meilleures offres de l'ann馥 sont en ce moment chez Statler Toyota</i> 4 00:01:37,056 --> 00:01:39,183 <i>pour toutes les Toyota 1985.</i>

**<私が作りたい並列表記のファイル>
**

1 00:01:31,550 --> 00:01:33,259 October is inventory time, LE MANOIR BROWN DノVASTノ 2 00:01:33,343 --> 00:01:34,969 so right now, Statler Toyota <i>Octobre est le mois des inventaires.</i> 3 00:01:35,053 --> 00:01:36,929 is making the best deals of the year <i>Les meilleures offres de l'ann馥 sont en ce moment chez Statler Toyota</i> 4 00:01:37,014 --> 00:01:39,182 on all 1985-model Toyotas. <i>pour toutes les Toyota 1985.</i>

上記のように英語の字幕ファイルの 1,2,3,4 に相当する番号の部分のフランス語の
セリフの部分だけ (つまり <i> から </i> に囲まれた部分)を
英語の字幕のすぐ下に追記するだけのプログラムを書いてみたいのですが
どうやればいいのかわかりません。

Javascript か  Python でなんとかつくれませんでしょうか?

正直お手上げなので、お知恵をお借りしたく。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

英語字幕ファイルに 5 があるのは無視ですか?
仏語字幕ファイルに 5、6 がある場合はどうするんですか?
仏語字幕ファイルの 1 は <i></i> がありませんがどうなっているんですか?
仏語字幕ファイルの 3 は 字幕が 2行ありますが、
英語も複数行の場合があるんですか?

次のコードで OKですか?

Python

1with open("english.txt") as f1: 2 with open("french.txt") as f2: 3 while True: 4 s1 = [] 5 while True: 6 line = f1.readline(); 7 if line == '\n' or line == '': break 8 s1.append(line) 9 if len(s1) < 3: break 10 11 s2 = [] 12 while True: 13 line = f2.readline(); 14 if line == '\n' or line == '': break 15 s2.append(line) 16 if len(s2) < 3: break 17 18 for line in s1: print(line, end='') 19 for line in s2[2:]: print(line, end='') 20 print('\n')

投稿2020/09/14 00:24

kazuma-s

総合スコア8224

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dame-dame

2020/09/15 05:35

すごい! for line in s1: print(line, end='') for line in s2[2:]: print(line, end='') のところが私には全く思いつかなかったです。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問