我有没有破折号的 ISBN 号码(10 位和 13 位)。现在我正在寻找一种自动添加这些破折号的方法。
我在这里找到了一些有用的信息: http ://www.isbn.org/standards/home/isbn/international/hyphenation-instructions.asp
但是我不确定它是否可行,因为发布者标识符具有随机长度,并且在不知道它的情况下,可能无法确定破折号的正确位置。
有人知道这是否可能吗?
非常感谢!
我有没有破折号的 ISBN 号码(10 位和 13 位)。现在我正在寻找一种自动添加这些破折号的方法。
我在这里找到了一些有用的信息: http ://www.isbn.org/standards/home/isbn/international/hyphenation-instructions.asp
但是我不确定它是否可行,因为发布者标识符具有随机长度,并且在不知道它的情况下,可能无法确定破折号的正确位置。
有人知道这是否可能吗?
非常感谢!
如果您有完整范围的表,您可以推断出发布者标识符的长度。
示例 1. ISBN 0141439564(企鹅:远大前程)
示例 2. ISBN 2253004227 (Poche: Germinal )
您可以在美国国会图书馆的ISBN 断字工具中检查您的算法。
对于 Python,您可以使用库python-stdnum、isbnid或isbn_hyphenate。他们可以连字符 ISBN,并使用另一个答案中提到的范围表。
我编写了以下 JavaScript 函数来连接 ISBN(我知道还有isbnjs,但它更紧凑,更容易包含在我认为的其他项目中)。
看看https://pypi.python.org/pypi/isbntools,它可以让你“连字符” ISBN 等等,比如提取、清理、转换和获取元数据。
这是一个库(您可以在程序中使用),但它安装了几个可以从命令行使用的“脚本”。