python常用的字符串处理

  1. 在python中,字符串的类型是不支持修改的
    如在编译器中使用如下代码:
import string
x = 'abcd'
x[0] = 'p'

将出现错误:

    x[0] = 'p'
TypeError: 'str' object does not support item assignment
  1. 去除空格
s = "   111   222  333   "
print(s)  # 原本的字符串
print(s.strip())   # 删除左边和右边的空格
print(s.lstrip())   # 删除左边的空格
print(s.rstrip())   # 删除右边的空格
print(s)   # 观察去除空格后的字符串
   111   222  333   
111   222  333
111   222  333   
   111   222  333
   111   222  333   

注意:由于字符串本身并不能被修改,所以去除空格后打印出变量s仍然没有改变

  1. 大小写的转换
s = 'hello world'
print(s.upper())   # 所有字母大写
print(s.upper().lower())    # 所有字母小写
print(s.capitalize())   # 首字母大写
HELLO WORLD
hello world
Hello world
  1. 字符串比较
s1 = 'abcdefg'
s2 = 'abcdefh'
print(s1 == s2)    # 比较两个字符串是否一样
print(s1.index('abc'))  # 查看‘abc’在字符串所在的位置
False
0

注意:对于空的字符串,它与False 是等价的,但是对于None 是一个空指针,与空字符串不一样,不在内存分配一个空间,例如:

s = ''
if not s:
    print('empty')

结果将打印出empty

  1. 字符串的分割
s = 'abc,def,qqq'
print(s.split(','))
s1 = '''111
222
333
'''
print(s1.splitlines())  # 根据换行符进行分割
['abc', 'def', 'qqq']
['111', '222', '333']
  1. 字符串的连接
s = ['abc', 'def', 'ggg']
print(''.join(s))   # 可以指定连接符。如,空格,加号等
print('+'.join(s))
abcdefggg
abc+def+ggg
  1. 其他常用的字符串判断
str.startswith(prefix)  # 是否以prefix开头
str.endswith(suffix)    #是否以suffix结尾
str.isalnum() # 是否全是字母和数字,并至少有一个字符。
str.isalpha() # 是否全是字母,并至少有一个字符。
str.isdigit() # 是否全是数字,并至少有一个字符。
str.isspace() # 是否全是空白字符,并至少有一个字符。
str.islower() # 字母是否全是小写
str.isupper() # 字母是否全是大写
str.istitle() # 首字母是否大写
  1. 字符串与数字的相互转化
print(str(5.))  # 将数字转化为字符串
print(str(66666))
print(str(6.789456))

print(int('444'))   # 将字符串转化为数字
print(int('11111111', 2))   # 将字符串按照指定的进制转换为10进制
print(float('444.23'))
5.0
66666
6.789456
444
255
444.23
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。