1 个不稳定版本
0.0.0 | 2021年7月22日 |
---|
#337 in #nlp
2KB
bistring
bistring 库提供了常见字符串处理操作的不可破坏版本,例如规范化、大小写折叠和查找/替换。每个 bistring 都会记住原始字符串及其子字符串如何映射到修改后的版本的子字符串。
例如
>>> from bistring import bistr >>> s = bistr('𝕿𝖍𝖊 𝖖𝖚𝖎𝖈𝖐, 𝖇𝖗𝖔𝖜𝖓 🦊 𝖏𝖚𝖒𝖕𝖘 𝖔𝖛𝖊𝖗 𝖙𝖍𝖊 𝖑𝖆𝖟𝖞 🐶') >>> s = s.normalize('NFKD') # Unicode normalization >>> s = s.casefold() # Case-insensitivity >>> s = s.replace('🦊', 'fox') # Replace emoji with text >>> s = s.replace('🐶', 'dog') >>> s = s.sub(r'[^\w\s]+', '') # Strip everything but letters and spaces >>> s = s[:19] # Extract a substring >>> s.modified # The modified substring, after changes 'the quick brown fox' >>> s.original # The original substring, before changes '𝕿𝖍𝖊 𝖖𝖚𝖎𝖈𝖐, 𝖇𝖗𝖔𝖜𝖓 🦊'
语言
bistring 可用多种语言,目前有 Python 和 JavaScript/TypeScript。计划在未来不久支持其他语言。
每个语言的代码结构相似,以便于在它们之间共享算法、测试和修复。主要区别在于尝试反映语言的内置字符串 API。如果您想贡献错误修复或新功能,请随时在任何一种支持的语言中实现,我们将努力将其移植到其他语言中。
演示
点击此处 在您的浏览器中查看 bistring 库的实时演示。
贡献
此项目欢迎贡献和建议。大多数贡献都需要您同意贡献者许可协议(CLA),声明您有权利并且实际上确实授予我们使用您的贡献的权利。有关详细信息,请访问 https://cla.microsoft.com。
当您提交拉取请求时,CLA-bot 将自动确定您是否需要提供 CLA,并相应地装饰 PR(例如,标签、注释)。只需遵循机器人提供的说明即可。您只需在整个使用我们的 CLA 的所有仓库中这样做一次。
本项目已采用 Microsoft 开源行为准则。有关更多信息,请参阅 行为准则常见问题解答 或联系 [email protected] 以提出任何额外的问题或评论。