当前位置: 首页 > news >正文

Python100个库分享第13个—awesome-slugify(处理Unicode)

目录

  • 专栏导读
  • 库的介绍
  • 库的安装
  • 基础用法1:用‘-’连接
  • 基础用法1:汉字转拼音用‘-’连接
  • 有个类似的库 —python-slugify
  • 安装
  • 总结

专栏导读

  • 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手

  • 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注

  • 👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅

  • 🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅

  • 📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅

  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏

  • ❤️ 欢迎各位佬关注! ❤️

库的介绍

  • awesome-slugify是一个Python slugify库,主要用于处理Unicode。

  • slugify是一种常见的字符串处理方式,用于将字符串转换为适合URL路径的格式,通常是将字符串中的空格替换为连字符(-)或下划线(_),并删除特殊字符。

  • 在处理包含Unicode字符的字符串时,awesome-slugify库可以很好地处理这些字符,将它们转换为适合URL的格式。

库的安装

pip install awesome-slugify -i https://pypi.tuna.tsinghua.edu.cn/simple/

基础用法1:用‘-’连接

from slugify import slugify
res = slugify ( 'Any text' )
print(res)
  • 输出

Any-text

基础用法1:汉字转拼音用‘-’连接

from slugify import slugify
title = "我的第一篇博客文章:关于Python编程"
slug = slugify(title)
print(slug)
  • 输出

Wo-De-Di-Yi-Pian-Bo-Ke-Wen-Zhang-Guan-Yu-PythonBian-Cheng

有个类似的库 —python-slugify

安装

pip install python-slugify -i https://pypi.tuna.tsinghua.edu.cn/simple/
from slugify import slugifytxt = "This is a test ---"
r = slugify(txt)
self.assertEqual(r, "this-is-a-test")txt = "___This is a test ---"
r = slugify(txt)
self.assertEqual(r, "this-is-a-test")txt = "___This is a test___"
r = slugify(txt)
self.assertEqual(r, "this-is-a-test")txt = "This -- is a ## test ---"
r = slugify(txt)
self.assertEqual(r, "this-is-a-test")txt = '影師嗎'
r = slugify(txt)
self.assertEqual(r, "ying-shi-ma")txt = 'C\'est déjà l\'été.'
r = slugify(txt)
self.assertEqual(r, "c-est-deja-l-ete")txt = 'Nín hǎo. Wǒ shì zhōng guó rén'
r = slugify(txt)
self.assertEqual(r, "nin-hao-wo-shi-zhong-guo-ren")txt = 'jaja---lol-méméméoo--a'
r = slugify(txt)
self.assertEqual(r, "jaja-lol-mememeoo-a")txt = 'Компьютер'
r = slugify(txt)
self.assertEqual(r, "kompiuter")txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=9)
self.assertEqual(r, "jaja-lol")txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=15)
self.assertEqual(r, "jaja-lol-mememe")txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=50)
self.assertEqual(r, "jaja-lol-mememeoo-a")txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=15, word_boundary=True)
self.assertEqual(r, "jaja-lol-a")txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=17, word_boundary=True)
self.assertEqual(r, "jaja-lol-mememeoo")txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=18, word_boundary=True)
self.assertEqual(r, "jaja-lol-mememeoo")txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=19, word_boundary=True)
self.assertEqual(r, "jaja-lol-mememeoo-a")txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=20, word_boundary=True, separator=".")
self.assertEqual(r, "jaja.lol.mememeoo.a")txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=20, word_boundary=True, separator="ZZZZZZ")
self.assertEqual(r, "jajaZZZZZZlolZZZZZZmememeooZZZZZZa")txt = 'one two three four five'
r = slugify(txt, max_length=13, word_boundary=True, save_order=True)
self.assertEqual(r, "one-two-three")txt = 'one two three four five'
r = slugify(txt, max_length=13, word_boundary=True, save_order=False)
self.assertEqual(r, "one-two-three")txt = 'one two three four five'
r = slugify(txt, max_length=12, word_boundary=True, save_order=False)
self.assertEqual(r, "one-two-four")txt = 'one two three four five'
r = slugify(txt, max_length=12, word_boundary=True, save_order=True)
self.assertEqual(r, "one-two")txt = 'this has a stopword'
r = slugify(txt, stopwords=['stopword'])
self.assertEqual(r, 'this-has-a')txt = 'the quick brown fox jumps over the lazy dog'
r = slugify(txt, stopwords=['the'])
self.assertEqual(r, 'quick-brown-fox-jumps-over-lazy-dog')txt = 'Foo A FOO B foo C'
r = slugify(txt, stopwords=['foo'])
self.assertEqual(r, 'a-b-c')txt = 'Foo A FOO B foo C'
r = slugify(txt, stopwords=['FOO'])
self.assertEqual(r, 'a-b-c')txt = 'the quick brown fox jumps over the lazy dog in a hurry'
r = slugify(txt, stopwords=['the', 'in', 'a', 'hurry'])
self.assertEqual(r, 'quick-brown-fox-jumps-over-lazy-dog')txt = 'foo & bar'
r = slugify(txt)
self.assertEqual(r, 'foo-bar')

总结

  • 希望对初学者有帮助

  • 致力于办公自动化的小小程序员一枚

  • 希望能得到大家的【一个免费关注】!感谢

  • 求个 🤞 关注 🤞

  • 此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏

  • 求个 ❤️ 喜欢 ❤️

  • 此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏

  • 求个 👍 收藏 👍

  • 此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏

http://www.lryc.cn/news/336902.html

相关文章:

  • 01 SQL基础 -- 初识数据库与安装
  • PyTorch搭建Autoformer实现长序列时间序列预测
  • FFmpeg: 简易ijkplayer播放器实现--06封装打开和关闭stream
  • 使用Android完成案例教学
  • 面向对象设计原则实验“依赖倒置原则”
  • PMP考试到底难在哪里?
  • Linux执行命令监控详细实现原理和使用教程,以及相关工具的使用
  • 算法设计与分析实验报告c++实现(生命游戏、带锁的门、三壶谜题、串匹配问题、交替放置的碟子)
  • 【电子通识】热风枪的结构与使用方法
  • mysql知识点
  • css Animation 动画-右进左出
  • 第十三届蓝桥杯省赛大学B组填空题(c++)
  • 天星金融(原小米金融)深耕金融知识领域,助力消费者提升金融素养
  • 中国手机频段介绍
  • 企业如何使用SNP Glue将SAP与Snowflake集成?
  • 算法设计与分析实验报告c++实现(最近点对问题、循环赛日程安排问题、排序问题、棋盘覆盖问题)
  • Vue - 你知道Vue中computed和watch的区别吗
  • POJ2976 Dropping tests——P4377 [USACO18OPEN] Talent Show G 【分数规划二分法+贪心/背包】
  • 【生产实习-毕设】pyspark学生成绩分析与预测(上)
  • 【华为笔试题汇总】2024-04-10-华为春招笔试题(第二套)-三语言题解(CPP/Python/Java)
  • Windows 文件夹被占用无法删除
  • PHP+MySQL组合开发 易企秀H5场景源码系统 带完整的安装代码包以及搭建教程
  • 抖音小店入驻有什么条件?资金少,没经验的普通人做得起吗?
  • 游戏行业科普 (二)游戏是怎么做出来,怎么卖出去的?
  • Java研学-RBAC权限控制(二)
  • 20. 【Android教程】拖动条 SeekBar
  • 工业物联网网关在机械设备制造企业数转过程的应用-天拓四方
  • 《一》Qt的概述
  • 局域网共享文件夹怎么加密?局域网共享文件夹加密方法介绍
  • 计算机网络——网络地址转换(NAT)技术