Fork me on GitHub

python字符串常用操作方法

python字符串常用操作方法

首先强调一下:字符串属于不可变数据类型,也就是说python创建一个字符串后,你不能把这个字符串的某一部分改变,任何上面的函数改变了字符串后,都会返回一个新的字符串,源字符串并没有改变。

下面总结一下python字符串常用操作,如字符串的替换,删除,切片截取、复制、连接、比较、查找、分割、与列表的相互转换,倒置,排序,,判断等。

1、替换str.replace(str1,str2,num) 用str2替换掉str1 num是次数,默认从左往右

str_1 = "Welcome to python ha ha"
str_2 = str_1.replace('ha', 'Hi', 1).replace('to', 'using')
print(str_2)  
>>>"Welcome using python Hi ha"
print(str_1)
>>>"Welcome to python ha ha"  #  原字符串的值不变  字符串属于不可变类型数据

2、删除

  • str.strip(str1) 删除字符串两边的指定字符,括号的写入指定字符,默认为空格
  • str.lstrip(str1) 删除字符串左边的指定自字符
  • str.rstrip(str2) 删除字符串右侧指定字符,默认空格
str_1 = '  hello  '
str_2 = str_1.strip()
print(str_2) 
>>> 'hello'
str_3 = str_1.lstrip()
print(str_3) 
>>>'  hello'

3、切片截取str[:]

4、复制

str_1 = 'mjy'
str_2 = str_1
print(str_2) 
>>> mjy 

5、连接 +

str_1 = 'hello'
str_2 = 'girl'
str_3 = str_1 +str2
print(str_3)
>>> 'hello girl'

6、比较cmp(X, Y)

提示:python3已经没有该方法
比较两个对象,并根据结果返回一个整数。X< Y,返回值是负数 ,X>Y 返回的值为正数

#python2
cmd(2, 1)
>>>1
cmd(1, 2)
>>>-1

#python3  没有cmd()方法,只能用>和<进行比较(可对字符串进行比较)
cmd(2, 1)
>>>"name 'cmd'  is not defined" 

7、查找

  • str.find() str.index()功能相同,区别在于find()查找失败会返回-1,不会影响程序运行。一般用find!=-1或者find>-1来作为判断条件。
  • str.index:检测字符串中是否包含子字符串str,可指定范围,查找失败会报错
  • 另外还有 str.rfind(str1, start, end)/str.rindex() 从尾部开始查找
str_1 = 'hello world'
str_1.index('l')
>>>2

#str.find:检测字符串中是否包含子字符串str,可指定范围
str_1 = 'hello world'
str_1.find('l')
>>>2
str_1.find('x')
>>>-1

8、分割

  • str.split(str1)根据指定子字符串对字符串进行分割 默认根据空格对字符串进行分割,结果是列表
  • str,partition(str1) 把str以str1分割成三部分,str1前,str1和str1后
  • str.rpartition(str1) 类似于 partition()函数,不过是从右边开始.
  • str.splitlines() 按照行分隔,返回一个包含各行作为元素的列表
# str.split()
str_1 = 'hello, girl'
res = str_1.split(',')
print(res)     # 结果是列表
>>>['hello', 'girl']

# str.partition()
str = 'hello girl and girlbeautiful'
>>> str.partition('girl')
('hello ', 'girl', ' and girlbeautiful')
>>> str.rpartition('girl')
('hello girl and ', 'girl', 'beautiful')
>>> str
'hello girl and girlbeautiful'

# str.splitlines()
str_1 = 'hello\nworld'
>>> str_1.splitlines()
['hello', 'world']

9、与列表相互转换

# 把列表中的元素以指定的字符连接成字符串
res = ['hello', 'girl']
str_1 = ('@').jion(res)
print(str_1)
>>>'hello@girl'  # 拼接的字符串结果

str_2 =  (',').join(res)
print(str_2)
>>>'hello,girl'

10 倒置

利用切片实现 str[::-1] 生成新的字符串

str_1 = 'hello\nworld'
str_2 = str_1[::-1]
>>> str_2
'dlrow\nolleh'

11判断

  • str.isalpha() 如果 str 所有字符都是字母 则返回 True,否则返回 False
  • str.isdigit() 如果 str 只包含数字则返回 True 否则返回 False
  • str.isalnum()如果 str 所有字符都是字母或数字则返回 True,否则返回 False
  • str.isspace() 如果 str 中只包含空格,则返回 True,否则返回 False.
  • str.islower() 如果 str 中字母是否全是小写,则返回 True,否则返回 False.
  • str.isupper() 如果 str 中字母是否全是大写,则返回 True,否则返回 False.
  • str.istitle() 字符串中每个单词的首字母大写
  • str.startwith('str1') 判断是否以str1开头
  • str.endwith('str1') 判断结尾

12 其他函数

  • str.upper() 把字符串全部转化成大写字母
  • str.lower() 把字符串字母全部小写化
  • str.count(str1) 合计子字符串str1出现的总次数
  • str.capitalize() 把字符串的首字母大写 其他小写
  • str.title() 把字符串的每个单词首字母大写
  • str.ljust(width) 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
  • str.rjust(width) 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
  • str.center(width) 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

posted @ 2019-07-02 07:22  路痴队长  阅读(365)  评论(0编辑  收藏  举报