- <strong><span style="font-size:14px;">#!/usr/bin/env python
- # coding:utf-8
- import re
- '''''
- 功能:对常见的几种字符串处理函数进行测试使用学习
- Author:沂水寒城
- '''
- def str_test():
- str_list=['We are family!!!', '00 11 22 33 44 55 66 77 88 99',
- 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
- str_dict={
- '!!!':'$$$',
- ' ':'@',
- 'T':'t',
- 'L':'&'
- }
- #使用replace
- '''''
- 基本用法:对象.replace(rgExp,replaceText,max)
- rgExp和replaceText是必须要有的,max是可选的参数
- '''
- str_list1=str_list
- res_list=[]
- for one_str in str_list1:
- for key in str_dict:
- one_str = one_str.replace(key, str_dict[key])
- res_list.append(one_str)
- print '**************replace替换结果为:*********************'
- print str_list1
- print res_list
- #使用re
- '''''
- re.sub()有5个参数,三个必选参数pattern,repl,string;两个可选参数count,flags
- re.sub(pattern,repl,string,count,flags)
- pattern:表示正则表达式中的模式字符串;
- repl:被替换的字符串,或者是一个方法(既可以是字符串,也可以是函数);
- 当repl为字符串的时候,也就是需要 将string中与pattern匹配的字符串都替换成repl
- 当repl为方法的时候,就必须是一个带有一个参数,且参数为MatchObject类型的方法,该方法需要返回一个字符串。
- string:要被处理的,要被替换的字符串;
- count:指的是最大的可以被替换的匹配到的字符串的个数,默认为0,就是所有匹配到的字符串。
- flgas:标志位
- '''
- str_list2=str_list
- res_list=[]
- pattern_rule=re.compile(r'!!!')
- for one_str in str_list2:
- one_str = re.sub(pattern_rule, '$$$', one_str)
- res_list.append(one_str)
- print '**************sub替换结果为:*********************'
- print str_list2
- print res_list
- #使用strip()
- '''''
- 个人使用strip()很久了,感觉这个函数在一些事比如字符串末尾换行符去除等方面出奇的好用,
- 它并不算是一个纯正意义上跟上面两个函数类似的字符串处理的函数,但是用于字符串尾部删除等方面的时候
- 效果还是很不错的
- '''
- str_list3=str_list
- res_list=[]
- for one_str in str_list3:
- one_str=one_str.strip('!!!')
- res_list.append(one_str)
- print '**************strip替换结果为:*********************'
- print str_list3
- print res_list
- str_test()</span></strong>
结果如些下:
**************replace替换结果为:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We@are@family
$′,′00@11@22@33@44@55@66@77@88@99′,′trouble@is@a@friend$′,′00@11@22@33@44@55@66@77@88@99′,′trouble@is@a@friend
$trouble@is@a@friend
$', '&ove&ove&ove']
**************sub替换结果为:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We are family$', '&ove&ove&ove'] **************sub替换结果为:********************* ['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove'] ['We are family
$', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend
**************sub替换结果为:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We are family$', '&ove&ove&ove'] **************sub替换结果为:********************* ['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove'] ['We are family
$Troubleisafriend$Troubleisafriend
$', 'LoveLoveLove']**************strip替换结果为:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We are family', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend', 'LoveLoveLove']
这些东西应该算得上是很顺手的小工具了,特别是在一些应用中能起到四两拨千斤的作用,也许是夸张了哈,但是就是很喜欢这几个小工具,所以就写出来分享一下,不足之处还望多多指教,大家共同学习共同进步!
浙公网安备 33010602011771号