2010-11-11 15 views
12

Tengo números ISBN (10 dígitos y 13 dígitos) sin los guiones. Ahora estoy buscando una forma de agregar esos guiones automáticamente.¿Cómo aplicar automáticamente el guion de ISBN?

he encontrado alguna información útil aquí: http://www.isbn.org/standards/home/isbn/international/hyphenation-instructions.asp

Pero no estoy seguro de si es factible en absoluto, porque el identificador de editor tiene una longitud aleatoria y sin saberlo, no es quizás posible determine las posiciones correctas para los guiones.

¿Alguien sabe si es posible de alguna manera?

¡Muchas gracias!

Respuesta

7

Puede deducir la longitud del identificador del editor si tiene el full range tables.

Ejemplo 1. ISBN 0141439564 (Penguin: Grandes esperanzas)

  • El identificador de grupo es 0 (idioma Inglés).
  • Los rangos editor para este grupo son 00-19, 200-699, 7000-8499, 85.000 a 89.999, 900000 a 949999, y 9500000-9999999
  • Los dos dígitos siguientes son 14, que es en el rango de 00 -19, entonces el editor tiene 2 dígitos.
  • Así la forma con guión es 0-14-143956-4

Ejemplo 2. ISBN 2253004227 (Poche: germinal)

  • El identificador de grupo es 2 (lengua francesa)
  • Los rangos de editorial para este grupo son 00-19, 200-349, 35000-39999, 400-699, 7000-8399, 84000-89999, 900000-949999, 9500000-9999999
  • Los siguientes tres dígitos son 253, que está en el r ange 200-349, por lo que el editor tiene 3 dígitos
  • Así que la forma escrita con guión es 2-253-00422-7

Puede comprobar su algoritmo en la Biblioteca del Congreso de ISBN hyphenation tool.

+0

Muy bien, gracias por su contribución. He encontrado esto ahora, y se preguntaba si hay una manera de determinar las posiciones de los guiones sin necesidad de utilizar la biblioteca completa: – Thasmo

+0

http://isbntools.com/details.html Creo que necesita las tablas de rango completo, porque los rangos de editor son diferentes para cada grupo. –

+0

Sí, me temía eso. xD Gracias de todos modos, lo hace un poco más complicado. – Thasmo

1

Tome un vistazo a https://pypi.python.org/pypi/isbntools, que le permitirá a los ISBN Separar '' y mucho más, como la extracción, Limpieza, transformación, y obtener los metadatos.

Esta es una biblioteca (que puede usar en su programa) pero instala varios "scripts" que puede usar desde la línea de comandos.

Cuestiones relacionadas