c++ string分割字符串split_Python字符串方法之-分割字符串

f5d705cee304fd75dc42a2bb09c6cc9f.png

37、partition()

描述:根据指定的分隔符(sep)将字符串进行分割。从字符串左边开始索引分隔符sep,索引到则停止索引。

语法: str.partition(sep)

参数:sep —— 指定的分隔符。

返回值:(head, sep, tail) 返回一个三元元组,head:分隔符sep前的字符串,sep:分隔符本身,tail:分隔符sep后的字符串。如果字符串包含指定的分隔符sep,则返回一个三元元组,第一个为分隔符sep左边的子字符串,第二个为分隔符sep本身,第三个为分隔符sep右边的子字符串。如果字符串不包含指定的分隔符sep,仍然返回一个三元元组,第一个元素为字符串本身,第二第三个元素为空字符串

示例:

string = 'https://www.google.com.hk/'string.partition("://") #字符串str中存在sep"://"('https', '://', 'www.google.com.hk/')string.partition(",")  #字符串str中不存在sep",",返回了两个空字符串。('https://www.google.com.hk/', '', '')string.partition(".")  #字符串str中存在两个"." 但索引到www后的"."  停止索引。('https://www', '.', 'google.com.hk/')type(string.partition("://")) #返回的是tuple类型tup

38、rpartition()

描述:根据指定的分隔符(sep)将字符串进行分割。从字符串右边(末尾)开始索引分隔符sep,索引到则停止索引。

语法: str.rpartition(sep)

参数:sep —— 指定的分隔符。

返回值: (head, sep, tail) 返回一个三元元组,head:分隔符sep前的字符串,sep:分隔符本身,tail:分隔符sep后的字符串。如果字符串包含指定的分隔符sep,则返回一个三元元组,第一个为分隔符sep左边的子字符串,第二个为分隔符sep本身,第三个为分隔符sep右边的子字符串。如果字符串不包含指定的分隔符sep,仍然返回一个三元元组,第一个元素为字符串本身,第二第三个元素为空字符串。

注:rpartition()函数与partition()函数用法相似,rpartition()函数从右边(末尾)开始索引,partition()函数从左边开始索引。

示例:

string = 'https://www.google.com.hk/'string.rpartition(".")  #字符串str中不存在sep",",返回了两个空字符串。 ('https://www.google.com', '.', 'hk/')string.partition(".")  #字符串str中不存在sep",",返回了两个空字符串。('https://www', '.', 'google.com.hk/')

39、split()

描述:拆分字符串。通过指定分隔符sep对字符串进行分割,并返回分割后的字符串列表。

语法: str.split(sep=None, maxsplit=-1) [n]

  • sep —— 分隔符,默认为空格,但不能为空即(")。
  • maxsplit —— 最大分割参数,默认参数为-1。
  • [n] —— 返回列表中下标为n的元素。列表索引的用法。

示例:

#默认空格分割str1 = "I love python"str1.split()['I', 'love', 'python']#取第三位str1.split()[2]'python'#以"."为分隔符,maxsplit默认为-1str2 = '列夫·尼古拉耶维奇·托尔斯泰'str2.split('·')['列夫', '尼古拉耶维奇', '托尔斯泰']#以"."为分隔符,只分割一次。str2.split('·',1) ['列夫', '尼古拉耶维奇·托尔斯泰

40、rsplit()

描述:拆分字符串。通过指定分隔符sep对字符串进行分割,并返回分割后的字符串列表,类似于split()函数,只不过 rsplit()函数是从字符串右边(末尾)开始分割。

语法:str.rsplit(sep=None, maxsplit=-1) -> list of strings 返回 字符串列表 或str.rsplit(sep=None, maxsplit=-1)[n]

参数:

  • sep —— 分隔符,默认为空格,但不能为空即(")。
  • maxsplit —— 最大分割参数,默认参数为-1。
  • [n] —— 返回列表中下标为n的元素。列表索引的用法。

示例:

 # 只搜索到一个sep时,两者结果相同'abcxyzopq'.partition('xy')('abc', 'xy', 'zopq')'abcxyzopq'.rpartition('xy')('abc', 'xy', 'zopq')# 搜索到多个sep时,分别从左第一个、右第一个sep分割'abcxyzopxyq'.partition('xy')('abc', 'xy', 'zopxyq')'abcxyzopxyq'.rpartition('xy')('abcxyzop', 'xy', 'q

41、splitlines()

描述:按照('', '', '等)分隔,返回一个包含各行作为元素的列表,默认不包含换行符。 换行符 回车符 回车+换行

语法:S.splitlines([keepends=False])

参数:keepends -- 在输出结果里是否去掉行界符('', '', '等),默认为 False,不包含行界符,如果为 True,则保留行界符。

示例:

# 字符串以换行符为分隔符拆分,去掉换行符'HOWSOFTWORKS'.splitlines()['HOW', 'SOFT', 'WORKS']# 如果keepends为True,保留换行符'HOWSOFTWORKS'.splitlines(True)['HOW', 'SOFT', 'WORKS']"123456789abc".splitlines()['123', '456', '789', 'abc'

42、join()

描述:将iterable变量的每一个元素后增加一个str字符串。

语法: sep.join(iterable)

  • sep——分隔符。可以为空。
  • iterable—— 要连接的变量 ,可以是 字符串,元组,字典,列表等。

示例:

python中经常看到join,特别是在自然语言处理的时候,分词什么的,但是很多初学者不理解其中的意思,这里进行详细的介绍,希望对大家能有帮助。将可迭代对象(iterable)中的字符串使用string连接起来。注意,iterable中必须全部是字符串类型,否则报错。如果你还是python的初学者,还不知道iterable是什么,却想来看看join的具体语法,那么你可以暂时将它理解为:字符串string、列表list、元组tuple、字典dict、集合set。当然还有生成器generator等也可以用该方法。1)字符串L='python''_'.join(L)'p_y_t_h_o_n''_uu_'.join(L)'p_uu_y_uu_t_uu_h_uu_o_uu_n'2)元组L1=('1','2','3')'_'.join(L1)'1_2_3'3)集合。注意,集合无序。L2={'p','y','t','h','o','n'}'_'.join(L2)'t_n_o_h_y_p'4)列表L2=['py','th','o','n']'_'.join(L2)'py_th_o_n'5)字典L3={'name':"malongshuai",'gender':'male','from':'China','age':18}'_'.join(L3)'name_gender_from_age'6)iterable参与迭代的部分必须是字符串类型,不能包含数字或其他类型。L1=(1,2,3)'_'.join(L1)TypeError: sequence item 0: expected str instance, int found以下两种也不能join。L1=('ab',2)L2=('AB',{'a','cd'})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值