字符串处理
创新互联公司拥有一支富有激情的企业网站制作团队,在互联网网站建设行业深耕10余年,专业且经验丰富。10余年网站优化营销经验,我们已为千余家中小企业提供了做网站、成都网站制作解决方案,按需定制网站,设计满意,售后服务无忧。所有客户皆提供一年免费网站维护! 1,字符串分割
(a)split 方法
str1 = "http:// www.qwe, qwe; qwe,qwe" import re re.split(r'[,;\s]\s*',str1) >>> ['http://', 'www.qwe', 'qwe', 'qwe', 'qwe']
一般简单的可以使用 str.split("xxx")进行分割。但是re.split( ) 用起来更加的灵活。
2, 字符串开头和结尾
(a) str.startswith( )/str.endswith( )
filename = "http://zaixiankefu.txt" filename.endswith(".txt") >>>True filename.startswith("http:") >>>True # startswith( )和 endswith( )可以接收一个元组数据,注意是元组。 choice = (".txt",".avi") filename.endswith(choice) >>>True
(b) 也可以使用切片来判断
if filename[:4] == "http" and filename[-4:] == ".txt": return True
3,字符串匹配
简单的就是str.startswith( ),str.endswith( ),str.find(),前两种返回时bool 值,find是返回第一次匹配的下标值。
使用正则进行匹配(更多方法参考正则文档)。
(a)re.match( )
match 总是从字符串开始去匹配 。如匹配则返回一个匹配对象,失败返回None。
str1 = "2018/12/20" import re re.match(r'\d*/',str1) >>> <_sre.SRE_Match object; span=(0, 5), match='2018/'>
(b) re.search( )
search 会匹配整个字符串。如匹配则返回一个匹配对象,失败返回None。
re.search(r'/\d*/',str1) >>> <_sre.SRE_Match object; span=(4, 8), match='/12/'>
(c) re.findall( )
findall( )会匹配整个字符串,匹配则返回一个list列表,要么有值要么空
如果返回的值过多,可以使用 finditer( )来替代。
str1 = "www.baidu.com" import re re.finditer(r'w',str1) #会返回一个可迭代对象 >>>
忽略大小写进行匹配
4,字符串替换
简单的替换可以使用 str.replace(old,new) 进行操作。
re.sub( )可以更加灵活处理。
反斜杠数字,例如 \3 指向前面模式的捕获组号。
5,字符串中插入变量
使用 format 和 format_map( ) + vars( )来进行处理。
vars( )实现的是在变量域中找到所需的变量。
缺点是,变量缺失后,会直接报错。如果变量未找到
可以使用类进行包装。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。