python-str字符串处理

本文介绍了Python中字符串处理的各种实用函数,包括查找、替换、分割、连接等操作,并提供了丰富的示例代码来帮助读者理解和掌握这些功能。

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

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---"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值