[转载] Python中字符串的处理方法

参考链接: Python字符串方法1(find,rfind,startwith,endwith,islower,isupper,lower,upper,swapcase和title)

1.字符串 

  

  1 word = '字符串'

2 sentence = "这是一个句子。"

3 paragraph = """这是一个段落,

4 可以由多行组成""" 

  

 2.字符串换行 

  

   1 x = 'a'

 2 y = 'b'

 3 #换行输出

 4 print (x)

 5 print (y)

 6 

 7 print ('----------')

 8 #不换行输出

 9 print (x,end = " ")

10 print (y,end = " ")

11 print ()

12 print (x,y) 

  

 以上代码得到结果: 

  

  1 a

2 b

3 ----------

4 a b 

5 a b 

  

 3.用户输入 

   

 name = input()  #用户输入内容至()内,则变量name的值为用户输入的值 

   

 4.占位符%以及转义符\ 

  

   1 num = 10

 2 str1 = 'hello'

 3 f = 10.1267

 4 #%d整数类型 %s 字符串类型  %f 浮点数

 5 #            占位符  按顺序 浮点数类型小数几位

 6 print ('num = %d,str1 = %s,f = %.3f' %(num,str1,f))

 7 

 8 

 9 #\n换行   \t制表符   \\表示\      \'表示'

10 print ('num = %d\nstr1 = %s,f = %.3f' %(num,str1,f)) 

  

 得到输出为: 

  

  1 num = 10,str1 = hello,f = 10.127

2 num = 10

3 str1 = hello,f = 10.127 

  

 5.eval()函数对字符串的处理 

  

  1 #eval(str)  功能:将字符串str当成有效的表达式来求值并返回计算结果

2 numb2 = eval('123')

3 print (numb2)

4 numb2 = eval('12+3')

5 print (numb2)

6 numb2 = eval('12-3')

7 print (numb2) 

  

 得到输出为: 

  

  1 123

2 15

3 9 

  

 6.截掉字符串左侧或者右侧的指定字符 

  

  1 #lstrip() 截掉字符串左侧的字符,默认为空格

2 str6 = "@@@@@@@@@@@@@liangge is a very very good man"

3 print (str6.lstrip("@"))

4 #liangge is a very very good man

6 #rstrip() 截掉字符串左侧的字符,默认为空格

7 #strip() 同时截掉字符串左侧以及右侧的字符,默认空格 

  

 得到输出为: 

  

  1 liangge is a very very good man 

  

 7.对字符串进行大小写转换 

  

  1 #str.lower()转换字符串中的大写字母为小写字母

2 #str.upper()转换字符串中的小写字母为大写字母

3 #str.swapcase()转换字符串中的小写字母为大写字母,转换字符串中的大写字母为小写字母

4 #str.captalize()字符串的首个字母大写

5 #str.title()每个单词的首字母大写 

  

 8.对字符串进行填充 

  

   1 #center(width,fillchar) 返回一个指定宽度的居中字符串,fillchar为填充的字符串,默认空格填充

 2 str2 = "A is a nice man"

 3 print (str2.center(20,"*"))

 4 #ljust(width[,fillcha]) 返回一个指定宽度的左对齐字符串,fillchar为填充字符,默认空格填充

 5 print (str2.ljust(40,"$"))

 6 #A is a nice man$$$$$$$$$$$$$$$$$$$$$$$$$

 7 #rjust(width[,fillcha]) 返回一个指定宽度的右对齐字符串,fillchar为填充字符,默认空格填充

 8 print (str2.rjust(40))

 9 #zfill(width) 返回一个长度为width的字符串,原字符串右对齐,前面填充0

10 print (str2.zfill(40)) 

  

 以上代码返回结果: 

  

  1 **A is a nice man***

2 A is a nice man$$$$$$$$$$$$$$$$$$$$$$$$$

3                          A is a nice man

4 0000000000000000000000000A is a nice man 

  

 9.检查字符是否在字符串中以及字符在字符串中的个数 

  

   1 #.count(sub[,start][,end]) 返回字符串中sub出现的次数,可以指定一个范围,默认从头到尾

 2 str3 = "liangge is a very very good man"

 3 print (str3.count("very",15,len(str3)))

 4 #find(str[,start][,end]) 检测str字符串是否包含在字符串中,可以指定范围,默认从头到尾,得到的是第一次出现的开始下标,没有返回-1

 5 str4 = "liangge is a very very good man"

 6 print (str4.find("very"))

 7 #rfind(str[,start][,end]) 从右侧检测

 8 str5 = "liangge is a very very good man"

 9 print (str5.rfind("very"))

10 #index(str,start=0,end=len(str)) 跟find()一样,只不过如果str不存在的时候会报错

11 #rindex() 从右侧检测 

  

 以上代码返回结果: 

  

  1 1

2 13

3 18 

  

 10.分割字符串 

  

  1 #split(str="",num)以str为分隔符截取字符串,指定num,则仅截取num个字符串

2 str7 = "abc*xyz*lmn*opq***deg"

3 print (str7.split("*",3)) 

  

 返回结果: 

  

  1 ['abc', 'xyz', 'lmn', 'opq***deg'] 

  

 另外还有其他分割字符串的方法 

  

  1 #splitlines([keepends])  按照('\r','\r\n','\n')分割,返回一个列表

2 #keepends == True 会保留换行符

4 #.join(seq) 以指定的字符串分隔符,将seq中的所有元素组合成一个字符串 

  

 11.替换字符串中指定字符 

 有两种替换方法 

  

  1 #replace("a","b",n) 用b替换a,替换前n个

2 str8 = "ace,nice,apple"

3 str9 = str8.replace("a","x")

4 print (str9) 

  

 返回结果: 

  

  1 xce,nice,xpple 

  

 以及字符串映射表 

  

  1 #创建一个字符串映射表,将字符串中对应"a"字符转换成"6","c"转换成"5"

2 t = str.maketrans("ac","65")

3 str8 = "ace,nice,apple"

4 str9 = str8.translate(t)

5 print (str9) 

  

 返回结果: 

  

  1 65e,ni5e,6pple 

  

 12.编码 

  

  1 #.encode(enconding='utf-8',errors='strict')

2 str10 = "liangge jiayou"

3 #ignore 忽略错误

4 data = str10.encode("utf-8","ignore")

5 print (str10)

6 print (data) 

  

 返回结果: 

  

  1 liangge jiayou

2 b'liangge jiayou' 

  

 13.解码 

 解码时要注意与编码时的编码格式一致: 

  

  1 str11 = data.decode("utf-8")

2 print (str11) 

  

 返回结果: 

  

  1 liangge jiayou 

  

 14.检查字符串 

  

   1 #startswith(str[,start][,end=len(str)]) 在给定的范围内判断是否以给定的字符串开头,如果没有指定范围,默认整个字符串

 2 #endswith() 

 3 #.isalpha() 如果字符串中至少有一个字符且所有字符都为字母,那么返回True,否则返回False

 4 #.isalnum() 如果字符串中至少有一个字符且所有字符都为字母或者数字,那么返回True,否则返回False

 5 #.isupper() 如果字符串中至少有一个英文字符且所有字符都是大写的英文字母,那么返回True,否则返回False

 6 #.islower() 如果字符串中至少有一个英文字符且所有字符都是小写,那么返回True,否则返回False

 7 #.istitle() 如果字符串是标题化的返回True,否则返回False

 8 #.isdigit() 如果字符串只包含数字返回True,否则返回False

 9 #.isnumeric() 如果字符串只包含数字字符(包括中文数字)返回True,否则返回False

10 "一二三".isnumeric()

11 True

12 "一二三".isdigit()

13 False

14 #.isdecimal()如果字符串中只包含十进制字符返回True,否则返回False

15 #.isspace() 如果字符串中只包含空格则返回True,否则返回False 

  

 15.其余操作 

  

  #len(str) 返回字符串的长度(字符个数)

#ord()转换字符为ASCII码

#chr()转换ASCII码为字符

#字符串比较大小,从第一个字符开始比较,谁的ASCII码值大谁就大,如果相等会比较下一个字符的ASCII码值大小,那么谁的值大谁就大

print ("bazzzz" > "ba") 

  

 结果为: 

  

  1 True 

  

  

   

   

   

   

  

  

   

  

 

转载于:https://www.cnblogs.com/weiwenliang/p/10572738.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值