字符串操作笔记

字符串分割类方法

def partition_category():

'''partition() 从sep出现的第一个位置起,把string分成一个3元素的元组
   (string_pre_sep,sep,string_post_sep),如果string中不存在sep,
   则string_pre_sep==string,其余元素为空字符串:
   (string,'','')
   格式: .partition(sep)
'''
print('*'*10)
print('http://www.hogwarts.com'.partition('w'))
print('http://www.hogwarts.com'.partition('wwww'))
print('http://www.hogwarts.com'.partition('t'))

'''partition() 从右向左sep出现的第一个位置起,把string分成一个3元素的元组
   (string_pre_sep,sep,string_post_sep),如果string中不存在sep,
   则string_pre_sep==string,其余元素为空字符串:
   (string,'','')
   格式: .partition(sep)
'''
print('*'*10)
print('http://www.hogwarts.com'.rpartition('w'))
print('http://www.hogwarts.com'.rpartition('wwww'))
print('http://www.hogwarts.com'.rpartition('t'))

字符串连接类方法

def connect_category():

'''
+号,将两个字符换链接生成一个新的字符串,+号两侧必须都是字符串,
格式:str1+str2
'''
s1 = 'hello'
s2 = 'python'
s3 = s1 + s2
print(s3)

'''
*号,将两个字符换链接生成一个新的字符串,*号两侧必须都是字符串,
格式:str1*N
'''
s1 = 'hello'
s2 = 'python'
s3 = s1 * 10
print(s3)

'''
join() 使用string连接可迭代对象中的所有元素,
可迭代对象参数中的所有元素必须是字符串
格式: .join(iterable)
'''
print(''.join('hello'))
print('-'.join('hello'))
print('-->'.join(('a','b','c')))
print('-->'.join({'a','b','c'})) #集合是无序的
print('-->'.join(['a','b','c']))
print('-->'.join({'a':'A','b':'B','c':'C'}))
print('==>'.join({'a':'A','b':'B','c':'C'}))
print('-->'.join(('a','b','1')))

编码解码类方法

def coding_category():

'''
encode() 使用encoding指定的字符集,对string进行编码,转换成二进制字符串
格式: .encode(encoding)
字符集:gbk,utf-8 ...
'''
print('abc123'.encode('gbk'))
print('abc123'.encode('utf-8'))
print('你好'.encode('gbk'))#gdk
print('你好'.encode('utf-8'))  #UTF-8  u8

'''
decode() 使用encoding指定的字符集,对string进行解码,转换成字符串对象,
string必须是二进制字符串
格式: .decode(encoding)
'''
print(b'abc123'.decode('gbk'))
print(b'abc123'.decode('u8'))
print(b'\xc4\xe3\xba\xc3'.decode('gbk'))   #gdk
print(b'\xe4\xbd\xa0\xe5\xa5\xbd'.decode('utf-8'))   #UTF-8  u8

切片操作

def section_category():

s = '545645165456' # 切片操作是一个公共操作,并不是字符串独有,可迭代的对象都可以进行切片操作
print(s[0:5])
print(s[:])
print(s[::2])
print(s[::-1])  #从右往左去,逆序