Python中字符串的处理方法

 

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
5 
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 会保留换行符
3 
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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值