python 入门笔记实例篇(2) 字符串和文本

本文通过案例详细介绍了Python中处理字符串的几个实用方法,包括re.split()进行复杂分割,startswith()和endswith()检查字符串开头和结尾,以及fnmatch()用于匹配字符串的存在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Case1 : 定符分割(re.split())

split() 方法只适应于非常简单的字符串分割情形, 它并不允许有多个分隔符或者是分隔符周围不确定的空格。 当需要更加灵活的切割字符串的时候,最好使用 re.split() 方法

import re

line = 'asdf fjdk ; afed , fjek , asdf , foo'

#[]中的一个或者多个字符被称为字符类,\s 匹配Unicode空白,* 匹配前面的字符任意次

#以第一个字符为;,空格,结尾为任意个空格的内容为分割条件

aa=re.split(r'[;,\s]\s*', line)

print(aa)

-------------result-------------

['asdf', 'fjdk', '', 'afed', '', 'fjek', '', 'asdf', '', 'foo']

 

Case2 : startswith()和str.endswith()(检查字符串开头或结尾)

filename = 'spam.txt'

print(filename.endswith('.txt'))

print(filename.startswith('file:'))

-------------result-------------

True

False

 

Case3 : fnmatch(匹配某字符串是否存在)

#fnmatch() 匹配时大小写都会匹配  ; fnmatchcase() 匹配时大小写需要一致

from fnmatch import fnmatchcase,fnmatch

addresses = ['5412 N CLARK ST','1060 W ADDISON ST','1039 W GRANVILLE AVE','2122 N CLARK ST','4802 N BROADWAY',]

mm = [addr for addr in addresses if fnmatch(addr, '*st')]

nn = [addr for addr in addresses if fnmatchcase(addr, '*st')]

qq = [addr for addr in addresses if fnmatchcase(addr, '*ST')]

print(mm)

print(nn)

print(qq)

-------------result-------------

['5412 N CLARK ST', '1060 W ADDISON ST', '2122 N CLARK ST']

[]

['5412 N CLARK ST', '1060 W ADDISON ST', '2122 N CLARK ST']

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值