質問

ダッシュなしでISBN番号(10桁と13桁)があります。今、私はそれらのダッシュを自動的に追加する方法を探しています。

ここでいくつかの有用な情報を見つけました:http://www.isbn.org/standards/home/isbn/international/hyphenation-instructions.asp

しかし、パブリッシャーの識別子の長さはランダムな長さであり、それを知らずに、ダッシュの正しい位置を決定することはできないため、それがまったく実行可能かどうかはわかりません。

どういうわけかそれが可能かどうか知っている人はいますか?

どうもありがとう!

役に立ちましたか?

解決

あなたが持っている場合、あなたは出版社の識別子の長さを推測することができます フルレンジテーブル.

例1. ISBN 0141439564(ペンギン: 大いなる遺産)

  • グループ識別子は0(英語)です。
  • このグループの出版社の範囲は、00〜19、200–699、7000–8499、85000–89999、900000-94999、および9500000–999999です。
  • 次の2桁は14で、これは00〜19の範囲にあるため、出版社には2桁があります。
  • したがって、ハイフンの形は0-14-143956-4です

例2. ISBN 2253004227(Poche: ゲルミナル)

  • グループ識別子は2(フランス語)です
  • このグループの出版社の範囲は、00〜19、200–349、35000–39999、400–699、7000–8399、84000–8999、900000–949999、9500000-9999999です。
  • 次の3桁は253で、200〜349の範囲にあるため、出版社には3桁があります
  • したがって、ハイフンの形は2-253-00422-7です

議会図書館でアルゴリズムを確認できます ISBNハイフネーションツール.

他のヒント

Pythonの場合、ライブラリを使用できます python-stdnum, イスブニッド また ISBN_HYPHENATE. 。彼らはISBNをハイフンにすることができ、他の答えに記載されている範囲テーブルを使用します。

私は次のJavaScript関数をHyphenate ISBNSに書きました(私もあることを知っています isbnjs, 、しかし、これはよりコンパクトで、私が思う他のプロジェクトに含めるのが簡単です)。

https://gist.github.com/aurimasv/6693537

を見てみましょう https://pypi.python.org/pypi/isbntools, 、抽出、清掃、変換、メタデータの取得など、ISBNなどを「ハイフン酸」することを可能にします。

これはライブラリ(プログラムで使用できる)ですが、コマンドラインから使用できるいくつかの「スクリプト」をインストールします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top