如何自动应用ISBN连字?

tha*_*smo 14 hyphenation isbn

我有没有破折号的ISBN号码(10位和13位).现在我正在寻找一种自动添加破折号的方法.

我在这里找到了一些有用的信息:http: //www.isbn.org/standards/home/isbn/international/hyphenation-instructions.asp

但我不确定它是否可行,因为发布者标识符具有随机长度,并且在不知道它的情况下,可能无法确定破折号的正确位置.

有人知道是否有可能吗?

非常感谢!

Gar*_*ees 11

如果您有完整范围表,则可以推断出版商标识符的长度.

示例1. ISBN 0141439564(Penguin:Great Expectations)

  • 组标识符为0(英语).
  • 该组的发布商范围是00-19,200-699,7000-8499,85000-89999,900000-949999和9500000-9999999
  • 接下来的两位数字是14,它在00-19范围内,因此发布者有2位数字.
  • 所以带连字符的形式是0-14-143956-4

例2. ISBN 2253004227(Poche:Gérminal)

  • 组标识符为2(法语)
  • 该组的发布商范围是00-19,200-349,35000-39999,400-699,7000-8399,84000-89999,900000-949999,9500000-9999999
  • 接下来的三位数字是253,在200-349范围内,因此出版商有3位数字
  • 所以带连字符的形式是2-253-00422-7

您可以在美国国会图书馆的ISBN连字工具中查看算法.


Tor*_*erg 5

对于 Python,您可以使用库python-stdnumisbnidisbn_hyphenate。他们可以连接 ISBN,并使用另一个答案中提到的范围表。