Python字符串拼接,截取,查找,替换

熟练掌握字符串操作可以使我们的开发效率更高,接下来总结一下python字符串的操作

一、字符串拼接

1.字符串拼接,直接用加号即可,

string1 = "Today is "
string2 = "a sunny day"
string = string1 + string2 + '!'
print(string)

  打印结果:Today is a sunny day!

2.字符串列表,可使用  ''.join(iterable) 拼接

strings = ['Today', 'is', 'a', 'sunny','day']
newstr = ' '.join(strings)
print(newstr)

  同样打印:Today is a sunny day

  这里引号中的内容为一个空格,可以替换成成其他任何字符或字符串,如 ' , '   ' : ' 等

二、字符串截取和分割

1.截取:

  (1)使用 字符串[开始索引:结束索引:步长]

string = '0123456789'
print(string[0:3])   # 使用顺序索引,截取头三个字符
>>012
print(string[-5:])   #使用倒序索引,截取后五个字符
>>56789
print(string[::2])   #忽略下标,即从开始到结尾,以2为步长截取
>>02468
newstr = string[::-1] #这样子可以实现字符串倒序
print(newstr)
>>9876543210

  >>表示输出结果 

  (2)还有一种专门去头去尾的截取 def strip(chars: Optional[str]=...)

string = '    useful string   '
print(string.strip())
>>useful string
string2 = '###useful string###'
print(string2.strip('#'))
>>useful string

2.分割:

  (1)str.split('分割标示符号')

string = '1,2,3,4'
strlist = string.split(',')
print(strlist)
>>['1', '2', '3', '4']

 (2)splitlines(keepends: bool=...) 返回字符列表

  这个函数相当于 string.split('\n')

string = 'first line \n second line'
print(string.splitlines())
>>['first line ', ' second line']

string = 'first line \n second line'
print(string.splitlines(keepends=True))
>>['first line \n', ' second line']

 三、字符串查找和替换

1.查找、统计

  def count(x: Text, start: Optional[int]=..., end: Optional[int]=...) ->int 返回个数

  def find(sub: Text, start: Optional[int]=..., end: Optional[int]=...)->int 返回下标

string = '1,1,2,1,3,4'
print(string.count('1'))
>>3
print(string.find('2'))
>>4
#find函数也可以直接用string.index()代替
#不同的是index找不到会报错,find()是返回-1
print(string.index('2'))
>>4
print(string.startswith(('1','2','3'), 2)) #查看第一个string元素是否是给出元组中的元素
>>True
print(string.startswith(('4')))  #除了startswith, 还有endswith()
>>False

  其实string类还有rfind(‘char’)函数,返回从后面数起char的第一次出现的下标,

 r是reverse的缩写,表示从后面开始,类似的还有rstripe()只去掉后面的空格,rsplit()从后面开始分割, rindex()返回最大     的下标

2.替换 def replace(old: str, new: str, count: int=...) ->string

  count可以缺省,default=-1,替换所有的旧字符串

string = 'abc abc def'
print(string.replace('abc', 'AAA', 1))
>>AAA abc def

四、其他

1.大小写转换

2.encode和decode

3.类型判断

#大小写转换
print('abcd'.capitalize())
>>Abcd
print('abcd'.upper())
>>ABCD
print('ABCD'.lower())
>>abcd

#encode and decode
string = '我爱北京天安门'
temp = string.encode('GBK')
string2 = temp.decode('GBK')


#判断字符串类型
string = '123'
print(string.isascii())    #是否是ASCII编码的值
>>True
print(string.isalnum())    #是否是字母或者数字
>>True
print(string.isdecimal())
>>True
print(string.isnumeric())
>>True
print(string.isdigit())
>>True
后三个函数的区别:
isdigit()
True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
False: 汉字数字
Error: 无

isdecimal()
True: Unicode数字,,全角数字(双字节)
False: 罗马数字,汉字数字
Error: byte数字(单字节)

isnumeric()
True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
False: 无
Error: byte数字(单字节)
原创文章 26 获赞 33 访问量 1925

猜你喜欢

转载自blog.csdn.net/qq_40765537/article/details/105114978
今日推荐