版权声明:欢迎交流:[email protected] https://blog.csdn.net/luo617/article/details/81566020
python字符串处理函数
# find和index区别,前者找不到返回-1,后者找不到报错
print "aaab".find("9") # 输出:-1
print "aaab".find("b") # 3
print "aaab".rfind("a") # 2 加r从右开始找
print "aaab".rindex("a") # 2
print "aaab".count("a")
#2、去除元素 strip
# 默认去除 \t\n,l从消除左边,r是消除右边
s = " a "
print s.strip() # 输出:"a"
print s.lstrip() # 输出:"a "
print s.rstrip() # 输出:" a"
# 去除字符串中含有序列的每个元素
s = "abcdeffedbca"
print s.strip("ab") # 输出:"cdeffedbc"
#3、反转,同样也可用于列表
s = "abcdefg"
print s[::-1] # 输出:gfedcba
#4、判断、测试字符串
#4.1 是空格
print "“ ”是否为空格:", " ".isspace()
print "“aaa”是否为空格:","aaa".isspace()
print "".isspace()
#4.2 判断开始结束
print "abcd以ab开头吗?","abcd".startswith("ab")
print "abcd以c结尾吗?","abcd".endswith("c")
print "abcd从第2个字符开始是以b开头吗?","abcd".startswith("b",1)
print "abcd从第2个字符到第3个字符的字符串是以c结尾吗?","abcd".endswith("c",1,3)
#4.3 是否全是字母或数字,并至少有一个字符
print "abcdef123".isalnum() # True
print "abcdef,,123".isalnum() # F
print "".isalnum() # F
#4.4 是否全为字母
print "aaa".isalpha() # 输出:True
print "aa1".isalpha() # 输出:False
print "aa,".isalpha() # 输出:False
#4.5 是否全为数字
print "aaa".isdigit() # 输出:False
print "221".isdigit() # 输出:True
print "22,".isdigit() # 输出:False
#4.6 大小写判断
print "aaa".islower() # 输出:True
print "AAA".islower() # 输出:False
print "aaa".isupper() # 输出:False
print "ABC".isupper() # 输出:True
#4.7 是否首字母大写,其他小写
print "ABC".istitle() # 输出:False
print "Abc".istitle() # 输出:True
print "123".istitle() # 输出:False
#5、字符转换 ,#大小写转换
s = "ABC"
print s.lower() #小写 输出:abc
print s #原字符不变 输出:ABC
print s.upper() #大写 输出:ABC
print s.swapcase() #大小写互换 输出:abc
print s.capitalize() #首字母大写 输出:Abc
#6、比较字符串,也可以比较数字
print cmp("aaa","bbb") # 输出:-1
print cmp("ccc","bbb") # 输出:1
print cmp(1,2) # 输出:-1
#7、字符串切片
s = "1234567890"
print s[1] #截取第二个字符 输出:2
print s[-1] #截取最后一个字符 输出:0
print s[-3] #截取倒数第三个字符 输出:8
print s[::] #可用于克隆字符串 输出:1234567890
print s[2:] #从第三个字符开始截取 输出:34567890
print s[:9] #从头截取到第9个字符 输出:123456789
print s[::2] #从头截取,每取一次间隔一个字符 输出:13579
print s[10::-1] #反向截取,输出:0987654321
print s[-1:-11:-1] #与s[10::-1]结果相同 输出:0987654321
#8、扫描字符串 输出1 2 3 4 5 6 7 8 9 0
for char in s:print char,
#9、分割字符串
print "12,34,5,678,9,0".split(",") # 输出['12', '34', '5', '678', '9', '0']
print " 12 34 5 ".split()#默认按空格分割 输出['12', '34', '5']
print " 12 34 5 ".split(" ")#但是不同的是,默认的方法会先strip 输出['', '', '', '12', '', '', '', '34', '', '5', '', '']
#10、连接集合中的字符串
print "".join(["a","b","c","d"]) # 输出abcd
print ",".join(["a","b","c","d"]) # 输出a,b,c,d
#11、filter 结合lambda
# filter(function,sequence) sequence可为字符串、列表、tupple ,
# 范围经过function过滤后返回true的相应类型结果
print filter((lambda x:x.isalnum()),"A man, a plan, a canal: Panama")
#12、map操作
print map((lambda x,y:x+y),[1,2,3,4],[10,20,30,40])
#13、 reduce 操作 reduce(function,sequence,startNum)startNum默认为0
print reduce((lambda x,y:x+y),[2,3,4,5,6,7,8,9,10],1)
#14、补齐
print "\""+"abcde".ljust(10)+"\"" #"abcde " 右边补
print "\""+"abcde".rjust(10)+"\"" #" abcde"
print "\""+"abcde".center(10)+"\"" #中间对齐 输出:" abcde "
print "\""+"abcde".center(10,"-")+"\"" #用-补齐 输出:"--abcde---"