Come applicare automaticamente ISBN sillabazione?
-
08-10-2019 - |
Domanda
devo ISBN numeri (10 cifre e 13 cifre), senza i trattini. Ora sto cercando un modo per aggiungere automaticamente tali trattini.
Ho trovato alcune informazioni utili qui: http://www.isbn.org/standards/home/isbn /international/hyphenation-instructions.asp
Ma non sono sicuro se è fattibile a tutti, perché la identificatore editore ha un correre, e senza saperlo, è forse possibile determinare il posizioni corrette per i trattini.
Qualcuno sa se è possibile in qualche modo?
Grazie mille!
Soluzione
È possibile dedurre la lunghezza della identificatore editore se si hanno le tavoli full range .
Esempio 1. ISBN 0.141.439,564 mila (Penguin: Great Expectations )
- L'identificatore di gruppo è pari a 0 (in lingua inglese).
- Le gamme editore di questo gruppo sono 00-19, 200-699, 7000-8499, 85.000-89.999, 900.000-949.999, e 9.500.000-9.999.999
- I prossimi due cifre sono 14, che è nel range 00-19, così l'editore ha 2 cifre.
- Quindi, la forma con trattino è 0-14-143956-4
Esempio 2. ISBN 2.253.004,227 mila (Poche: Germinal )
- L'identificatore del gruppo è 2 (lingua francese)
- Le gamme editore di questo gruppo sono 00-19, 200-349, 35.000-39.999, 400-699, 7000-8399, 84.000-89.999, 900.000-949.999, 9.500.000-9.999.999
- I successivi tre cifre sono 253, che è nell'intervallo 200-349, così l'editore ha 3 cifre
- Quindi, la forma con trattino è 2-253-00422-7
È possibile controllare il vostro algoritmo presso la Biblioteca del Congresso ISBN sillabazione strumento .
Altri suggerimenti
Per Python, è possibile utilizzare la libreria python-stdnum , isbnid o isbn_hyphenate . Essi possono sillabare codici ISBN, e utilizzare la tabella gamma menzionato nel altra risposta.
ho scritto la seguente funzione JavaScript per codici ISBN sillabazione (so che c'è anche isbnjs , ma questo è più compatto e più facile da inserire in altri progetti credo).
Date un'occhiata al https://pypi.python.org/pypi/isbntools , che vi permetterà di codici ISBN 'sillabazione' e molto altro ancora, come l'estrazione, cleanning, trasformando, e ottenere i metadati.
Questa è una libreria (che è possibile utilizzare nel vostro programma), ma si installa diversi 'script' che è possibile utilizzare dalla riga di comando.