アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。

翻訳の仕事をやっています。教えて頂きたいのは、ファイルに含まれる単語数をカウントする方法です。

添付画像にあるように、そのファイルには

"photoLibraryUnavailableAlertTitle" = "Photo Library Unavailable";
"photoLibraryUnavailableAlertMessage" = "The photo library is currently unavailable or empty. You can sync photos onto your device using iTunes.";
"unsupportedMovieAlertMessage" = "The movie file \"%@\" cannot be played. Only files with the extensions .mov, .mp4, .mpv and .3gp are supported.";

というような形式で英語が 300列 ほど並んでいます。カウントしたいのは = 移行の "ここの部分” です。例えば

"photoLibraryUnavailableAlertTitle" = "Photo Library Unavailable";
ならば、"Photo Library Unavailable"の部分をカウントして三文字となります。

今までは不必要な部分をひとつひとつ手動で削除し、最後にワードカウントに掛ける、という方法をとっていたのですが、今後も同じような形式のファイルを受け取るとる予定があるので、ここで質問させて頂きました。さすがに全自動化というわけにはいかないと思いますが、すこしても手数が減らせる方法をご存じでしたら、ご教授おねがいいたします。

ちなみに、使用しているのはmacです。

以上、宜しくお願いいたします。

A 回答 (3件)

「正規表現」が使えるテキストエディタを使って下さい。


そうすれば、「="」と「";」に挟まれた文字列の抽出、程度なら比較的簡単にできるはず。
私はMacは使っていないので具体的なソフトはわかりません。

Windowsの例として、秀丸エディタの場合、こういう使い方をします。
http://www.shuiren.org/chuden/teach/hidemaru/sei …

もし文字列の終わりが「";」でなく「"」だった場合、一番最後の
「注意事項―最長一致の原則―」
という欄のお話が参考になるでしょう。

抽出さえ済めば、あとは「="」と「";」を空白文字に置換すれば簡単に消せます。
    • good
    • 0

少しだけ手作業が省ける方法です。



※Excelがなかったら、以下、読んでも意味がありません。

(1)まず、全文をExcelにテキストで貼り付けます。(1つのセルに一文が入っています。)
そのまま、文章の入っているセルを全て選択します。(例えば、A1~A300行分)
[データ]の「区切り位置」をクリックします。ウィザードが起動します。
データのファイル形式を、「●カンマやタブなどの~」を選択して、次へ。
「区切り文字」のチェックを全てはずし、「その他」にチェックします。その横に「=」を入れます。
その下の「連続した区切り文字は~」は、チェックしたままです。次ぎへは押さずに完了をクリック。
そうすると、「=」が消え、=の左と右が分離するので、左を削除しておきます。

(2)残った右のセルをまた、全て選択します。
また、区切り位置のウィザードを起動し、データのファイル形式は同じなので、次へ。
「区切り文字」は、タブからその他まで全てにチャックを入れます。
その他の右に「"」を入れます。
右上にある「文字の引用符」を「"」にして、完了をクリックします。

※(1)をやるときに(2)のように文字区切りを全てチェックして、一回で終わらせてもいいのですが、=の左の文字列に「;」やスペースなどが入っていると、セルが分割されて、列が乱れてしまうので、2回に分けました。質問文の例題には、「"」しかなく、スペースもないので1回でうまく出来ますが。

(3)ある程度、バラバラになりましたが、まだ、「¥」など不要なものがあります。
ここから、ほとんど手作業です。
しかし、見落としがあると困るので、置換を使います。
面倒なので、A列1行の左上の角にある部分をクリックして、全セルを選択します。
[編集]の「置換をクリック」
検索する文字列に「¥*」と入力します。
置換後の文字列は何も入れず、右にある書式から、「書式」を選び、「色」を赤にしておきます。こうしておくと目立つので、見逃しがないため。
で、置換をしていきます。
「¥」だけが消えますが、「%@」が赤く残るので、削除します。
ピリオド「.」は、残しておいてもいいと思います。

(4)完成したら、単語数を数えます。
Aの1列は全て空白になっていると思いますので、次の式を入れます。
横1行の単語が、B1から入っているとします。1行目は、3つしかないかもしれませんが、2行目は10こあるかもしれません。したがって、一番多い列にあわせますが、多分Z行まではないと思いますので、「z」でいいと思います。

=COUNTA(B1:Z1)

これは、空白でないセルを数えています。なので、空白はいくらあってもかまいません。
これをコピーすれば、自動で数えてくれます。

最後に、=sum(A1:A300) のようにすれば合計が計算されます。
    • good
    • 0

他のソフトは知りませんが、データベースソフトのFilemakerProなら


改行区切りテキストを読み込めば全自動?で出来ます。
\"%@\"とか無視されると思いますが。

いろいろなことに使えますし、仕事データの保存用に持っていた方が。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!