美文网首页
str.split() 和 re.split()

str.split() 和 re.split()

作者: Jorunk | 来源:发表于2019-05-05 15:47 被阅读0次

    str.split()

    描述

    split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串。

    语法

    str.split(str="", num=string.count(str)).
    
    

    参数

    str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
    num -- 分割次数。
    str.split不支持正则及多个切割符号,不感知空格的数量,比如用空格切割.因此split只适合简单的字符分割

    re.split()

    支持正则及多个字符切割

    >>> print line  
    abc aa;bb,cc | dd(xx).xxx 12.12'    xxxx  
     
    按空格切  
    >>> re.split(r' ',line)  
    ['abc', 'aa;bb,cc', '|', 'dd(xx).xxx', "12.12'\txxxx"]  
     
    加将空格放可选框内[]内  
    >>> re.split(r'[ ]',line)  
    ['abc', 'aa;bb,cc', '|', 'dd(xx).xxx', "12.12'\txxxx"]  
     
    按所有空白字符来切割:\s([\t\n\r\f\v])\S(任意非空白字符[^\t\n\r\f\v]  
     
    >>> re.split(r'[\s]',line)  
    ['abc', 'aa;bb,cc', '|', 'dd(xx).xxx', "12.12'", 'xxxx']  
     
    多字符匹配  
    >>> re.split(r'[;,]',line)  
    ['abc aa', 'bb', "cc | dd(xx).xxx 12.12'\txxxx"]  
    >>> re.split(r'[;,\s]',line)  
    ['abc', 'aa', 'bb', 'cc', '|', 'dd(xx).xxx', "12.12'", 'xxxx']  
     
    使用括号捕获分组的适合,默认保留分割符  
    re.split('([;])',line)  
    ['abc aa', ';', "bb,cc | dd(xx).xxx 12.12'\txxxx"]  
    #就是说,多个元素之间之前的分隔符保持存在  
    去掉分隔符,加?:  
    >>> re.split(r'(?:;)',line)  
    ['abc aa', "bb,cc | dd(xx).xxx 12.12'\txxxx"]
    
    

    相关文章

      网友评论

          本文标题:str.split() 和 re.split()

          本文链接:https://www.haomeiwen.com/subject/dilhoqtx.html