以后字符串中的字符提取校验就用这个了,效果不错!

众所周知,python之所以很方便在一定程度上是因为随时都可能有人又创作了一个好用又方便的python非标准库。

【阅读全文】

正好有一个小需求需要校验一个python字符串中是否存在某种类型的字符,需求其实不难但是自己写的话又要耗时费力,可能还存在BUG需要测试。

于是想找找看有没有大佬已经实现这样的python非标准库,还真给找到了就是-txdpy,先安装起来吧,确实比较方便给大佬递茶!

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

安装完成之后将txdpy导入到我们的代码块中,对常用的函数进行测试执行是否能够完成我们的常规逻辑处理。

# Importing the txdpy module and renaming it to tx.
import txdpy as tx

from loguru import logger

# A string that is used to test the functions in the txdpy module.
common_str = '123er45io9@Python 集中营.'

def is_num():
    """
    It returns True if the input is a number, and False otherwise
    """

    # A logging statement.
    logger.info('是否纯数字字符串:{0}'.format(tx.is_num(common_str)))

# It returns True if the input is a number, and False otherwise.
is_num()

结果执行之后以外情况发生了,依次报错没有导入下面的三个模块。说明在我们的txdpy模块中调用了下面的三个模块,没有关系,若是没有安装下面三个模块的话安装一下即可。

File "C:\software\python\lib\site-packages\txdpy\requests_operation.py", line 1, in <module>
    from lxml import etree
ModuleNotFoundError: No module named 'lxml'

File "C:\software\python\lib\site-packages\txdpy\PyReBf.py", line 1, in <module>
    import mmh3
ModuleNotFoundError: No module named 'mmh3'

  File "C:\software\python\lib\site-packages\txdpy\PyReBf.py", line 2, in <module>
    import redis
ModuleNotFoundError: No module named 'redis'

将报错的上面三个模块使用pip的方式进行安装,默认还是清华大学的镜像站。如果没有报错证明已经安装了,直接执行就OK了。

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

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

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

安装成功了这个时候环境是没啥问题,我们接着执行is_num函数,返回结果为False,说明不是纯数字的字符串,结果正确。

2022-09-17 20:11:05.245 | INFO     | __main__:is_contain_num:26 - 是否包含数字:False

接下来再执行几个字符串是否为某种纯字符的校验,然后依次使用logger模块打印出结果查看是否能够完成准确的校验。

def is_letter():
    """
    It checks if the input is a letter.
    """

    # A logging statement.
    logger.info('是否纯字母字符串:{0}'.format(tx.is_letter(common_str)))

# It checks if the input is a letter.
is_letter()

2022-09-17 20:24:36.232 | INFO     | __main__:is_letter:66 - 是否纯字母字符串:False

def is_num_letter():
    """
        It checks if the input is a letter or num.
    """

    common_str = '123com'

    logger.info('是否数字、字母字符串:{0}'.format(tx.is_num_letter(common_str)))

is_num_letter()

2022-09-17 20:27:44.313 | INFO     | __main__:is_num_letter:80 - 是否数字、字母字符串:True

除此之外,还有几个比较使用的函数就是可以将字符串中的某种类型的字符串通过函数提取出来,它的底层是通过不同的正则表达式来实现的,不用我们再去考虑使用各式各样的正则表达式来匹配数据了。

common_str = '123er45io9@Python 集中营.'

def get_chinese():
    """
    It returns the string "Chinese"
    """

    # A logging statement.
    logger.info('提取到字符串中的中文是:{0}'.format(tx.get_chinese(common_str)))

# It returns the string "Chinese"
get_chinese()

2022-09-17 20:39:40.356 | INFO     | __main__:get_chinese:102 - 提取到字符串中的中文是:['集中营']

def get_num():
    """
    It returns the number of times the function has been called.
    """

    # A variable that is used to store the number of times the function has been called.
    logger.info('提取到字符串中的中文是:{0}'.format(tx.get_num(common_str)))

get_num()

2022-09-17 20:41:27.998 | INFO     | __main__:get_num:115 - 提取到字符串中的中文是:['123', '45', '9']

以上是我们使用到的一些比较的常规的字符串处理的用法,还有更多的比较方便的函数的调用大家可以在使用中多看看,可以为我们的业务开发节省更多的时间,感谢粉丝朋友们一直以来的支持!

tabulate结合loguru打印出美观又方便查找的日志记录!

我使用pangu模块做了一个文本格式化小工具!

为方便数据分析,实现Python对象与DataFrame数据的相互转换!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:以后字符串中的字符提取校验就用这个了,效果不错! - Python技术站

(0)
上一篇 2023年4月2日 下午4:45
下一篇 2023年4月2日 下午4:45

相关文章

  • 如何将多张图片合成mp4视频格式,并加入背景音乐…

    【阅读全文】 实现的思路:将准备好的图片通过opencv读取出来,并将其设置好帧数等参数后合成为无声视频。最后通过moviepy编辑视频将背景音乐加入到视频中。 开始之前还是需要说明一下非标准库的来源,因为有些库的名称和需要导入模块的名称不一定就是一样的。 import os # python标准库,不需要安装,用于系统文件操作相关 import cv2 #…

    2023年4月2日
    00
  • python实现excel数据与mysql数据库互通有无

    【阅读全文】 python在制作一些小工具上本身就有着得天独厚的优势,大多数非标准库的应用只需要进行简单的安装即可使用。 比如:使用python将excel中的数据导入到mysql数据库表中,或是将mysql数据库表中的数据直接导出为excel都只需要简单的几行代码就可以完成,假如使用Java来做这件事强那可就有些复杂了呢。 话不多说,接下来直接进入正题..…

    2023年4月2日
    00
  • 零配置python日志,安装即用

    写了很多年的python日志都是使用内置的logging模块来完成的,使用时都需要经过繁琐的配置。有时候,还可能出现丢失日志的情况,直到loguru的出现。 【阅读全文】 loguru真的是十分的简单的,安装之后直接导入到python代码块中即可直接使用。 1、安装环境 我们还是按照pip的方式来进行安装,默认使用清华大学的镜像站。 pip install …

    2023年4月2日
    00
  • Python 读取PDF文件为文本字符并转换为音频

    【阅读全文】 设计思路:首先通过PyPDF2非标准库提供的接口函数将PDF文件中的文本提取出来,然后,再使用pyttsx3非标准库将文本转换为音频文件。 使用pip的方式安装两个非标准库PyPDF2、pyttsx3。 pip install PyPDF2 -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip ins…

    2023年4月2日
    00
  • word文档样式批量处理,久违了

    这里批量处理word文档的操作主要是通过python-docx非标准库实现的,通过定位到文档对象、再到段落、最后到一行文本从而完成针对文字对象的处理。 【阅读全文】 使用pip的方式安装python-docx pip install python-docx 将实现过程中需要的模块导入进来 from docx import Document # 文档处理对象 …

    2023年4月2日
    00
  • 两个库搞定python中引用javascript代码块/文件

    在一些特殊的python应用场景下需要逆向执行javascript代码块或者.js文件,比如:爬虫的时候下载下来的html页面中包含你要逆向执行的js代码块。 【阅读全文】 在python编程中提供了两个非标准库js2py与PyExecJS都能实现在python中运行代码块的效果的。 1、js2py的使用过程 js2py适用于js代码少量情况,如果用于很长的…

    2023年4月2日
    00
  • 我使用pangu模块做了一个文本格式化小工具!

    其实使用pangu做文本格式标准化的业务代码在之前就实现了,主要能够将中文文本文档中的文字、标点符号等进行标准化。 阅读全文 但是为了方便起来我们这里使用了Qt5将其做成了一个可以操作的页面应用,这样不熟悉python的朋友就可以不用写代码直接双击运行使用就OK了。 为了使文本格式的美化过程不影响主线程的使用,特地采用QThread子线程来专门的运行文本文档…

    2023年4月2日
    00
  • python多线程同步售票系统解决思路

    解决问题场景:假如剩余1000张电影票需要售卖,同时有10家电影App来售卖这1000张电影票。主要的逻辑实现过程是什么,要求使用python技术栈进行解题? 【阅读全文】 1、分析过程 分析:主要信息点是10家App平台同时售卖1000张电影票。此时,可以使用10个python线程来作为10家App平台,同时售卖必须保证电影票数量的同步,比如A平台卖出了一…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部