str.split()、str.splitlines()、re.split()分句使用方法

一. str.split()

str.split(), 这个不支持正则表达式

text = '六安市政府采购中心受六安市人民医院的委托,现对“鼻声反射仪”项目进行竞争性谈判,欢迎具备条件的国内投标供应商参加投标.'

text.split(',')

"""
['六安市政府采购中心受六安市人民医院的委托', '现对“鼻声反射仪”项目进行竞争性谈判', '欢迎具备条件的国内投标供应商参加投标。']
"""

二. str.splitlines()

splitlines() 按照行界符('\r', '\r\n', \n'等)分隔,返回一个包含各行作为元素的列表,默认不包含行界符。能被splitlines()识别的分隔符如下:

行界符描述
\nLine Feed   换行
\rCarriage Return 回车
\r\nCarriage Return + Line Feed  回车+换行
\v or \x0bLine Tabulation  
\f or \x0cForm Feed 换页
\x1cFile Separator 文件分隔符
\x1dGroup Separator  组分隔符
\x1eRecord Separator 记录分隔符号
\x85Next Line (C1 Control Code)
\u2028Line Separator  行分隔符
\u2029Paragraph Separator 段落分隔符号
text = '六安市政府采购中心受六安市人民医院的委托,\n现对“鼻声反射仪”项目进行竞争性谈判,欢\n迎具备条件的国内投标供应商参加.标 。'

text.splitlines()  # 默认使用\n进行分割,默认keepends=False 表示不保留分隔符

"""
['六安市政府采购中心受六安市人民医院的委托,', '现对“鼻声反射仪”项目进行竞争性谈判,欢', '迎具备条件的国内投标供应商参加投标。']
"""


text.splitlines(keepends=True)  # 设置keepends=True 保留分隔符


text = '六安市政府采购中心受六安市人民医院的委托,\n现对“鼻声反射仪”项\r目进行竞争性谈判,欢\n迎具备条件的国内投标供应商参.投标。‘  # 文本中添加了\r

text.splitlines(keepends=True)

"""
['六安市政府采购中心受六安市人民医院的委托,\n',
 '现对“鼻声反射仪”项\r',
 '目进行竞争性谈判,欢\n',
 '迎具备条件的国内投标供应商参加投标。']
"""


# text.split与text.splines异同
text.split()
"""
['六安市政府采购中心受六安市人民医院的委托,', '现对“鼻声反射仪”项', '目进行竞争性谈判,欢', '迎具备条件的国内投标供应商参加投标。']
"""
text.splitlines()
"""
['六安市政府采购中心受六安市人民医院的委托,', '现对“鼻声反射仪”项', '目进行竞争性谈判,欢', '迎具备条件的国内投标供应商参加投标。']
"""



''.split('\n')
"""
['']
"""
''.splitlines()
"""
[]
"""

 

 

三. re.split() 

  1. 适用场合:文本中分隔符比较多而且复杂的情况;
  2. 原型:re.split(pattern, string, maxsplit=0) ; pattern表示要分割的字符,pattern如果用()表示保留分隔符,如果用[]表示不保留分隔符,string表示要分割的字符串,maxsplit表示分割的次数,默认一次分割完成,示例如下:
  3. import re
    
    text = '重庆建工建材物流有限公司经集团批准对部分设备进行报废处置,现就处置的设备进行公开招标! 请各投标单位按招标文件内容要求参加投标。'
    
    s_text_1 = re.split(",", text)
    print(s_text)
    """
    ['重庆建工建材物流有限公司经集团批准对部分设备进行报废处置', '现就处置的设备进行公开招标! 请各投标单位按招标文件内容要求参加投标。']
    """
    
    s_text_2 = re.split("(,)", text)
    print(s_text2)
    """
    ['重庆建工建材物流有限公司经集团批准对部分设备进行报废处置', ',', '现就处置的设备进行公开招标! 请各投标单位按招标文件内容要求参加投标。']
    """
    
    s_text_3 = re.split("[,]", text)
    print(s_text)
    """
    ['重庆建工建材物流有限公司经集团批准对部分设备进行报废处置', '现就处置的设备进行公开招标! 请各投标单位按招标文件内容要求参加投标。']
    """
    # 说明:从上面结果中可以看出,re.split()默认是用[]的。
    
    # 多个字符分割(text中("!")是英文输入法下的)
    s_text_4 = re.split("[,!]", text)
    print(s_text_4)
    """
    ['重庆建工建材物流有限公司经集团批准对部分设备进行报废处置', '现就处置的设备进行公开招标', ' 请各投标单位按招标文件内容 要求参加投标。']
    """
    
    text_new = '重庆建工建材物流有限公司经集团批准对部分设备进行报废处置,现就处置的设备进行公开招标, 请各投标单位按招标文件内容要求参加投标。'
    
    s_text_5 = re.split("[,]", text_new, maxsplit=0)
    print(s_text_5)
    """
    ['重庆建工建材物流有限公司经集团批准对部分设备进行报废处置', '现就处置的设备进行公开招标', ' 请各投标单位按招标文件内容 要求参加投标。']
    """
    
    s_text_6 = re.split("[,]", text_new, maxsplit=1)
    print(s_text_6)
    """
    ['重庆建工建材物流有限公司经集团批准对部分设备进行报废处置', '现就处置的设备进行公开招标, 请各投标单位按招标文件内容要 求参加投标。']
    """
    
    s_text_7 = re.split("[,]", text_new, maxsplit=2)
    print(s_text_7)
    """
    ['重庆建工建材物流有限公司经集团批准对部分设备进行报废处置', '现就处置的设备进行公开招标', ' 请各投标单位按招标文件内容 要求参加投标。']
    """
    
    
    
    

    参考:[1] Python splitlines()方法

 

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值