• python中字符串拆分与合并——split()、join()、strip()和replace()


    Python3 split()方法


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

    语法
    split()方法语法:

    str.split(str="", num=string.count(str))
    参数
    str – 分隔符,默认为所有的空字符,包括空格、换行( )、制表符( )等。
    num – 分割次数。
    返回值
    返回分割后的字符串列表。

    实例
    以下实例展示了split()函数的使用方法:

    #!/usr/bin/python3

    str = "this is string example....wow!!!"
    print (str.split( ))
    print (str.split('i',1))
    print (str.split('w'))
    以上实例输出结果如下:

    ['this', 'is', 'string', 'example....wow!!!']
    ['th', 's is string example....wow!!!']
    ['this is string example....', 'o', '!!!']
    Python3 字符串

    注:split()分割字符串返回的是列表

    利用re模块分割含有多种分割符的字符串:

    import re
    a='Beautiful, is; better*than ugly'
    # 四个分隔符为:, ; *
    x= re.split(',|; |*| ',a)
    print(x)
    1
    2
    3
    4
    5
    6
    应用

    网页地址解析

    #coding=utf-8

    str="http://www.runoob.com/python/att-string-split.html"
    print("0:%s"%str.split("/")[-1])
    print("1:%s"%str.split("/")[-2])
    print("2:%s"%str.split("/")[-3])
    print("3:%s"%str.split("/")[-4])
    print("4:%s"%str.split("/")[-5])

    print("5:%s"%str.split("/",-1))
    print("6:%s"%str.split("/",0))
    print("7:%s"%str.split("/",1))
    print("8:%s"%str.split("/",2))
    print("9:%s"%str.split("/",3))
    print("10:%s"%str.split("/",4))
    print("11:%s"%str.split("/",5))
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    结果为

    0:att-string-split.html
    1:python
    2:www.runoob.com
    3:
    4:http:
    5:['http:', '', 'www.runoob.com', 'python', 'att-string-split.html']
    6:['http://www.runoob.com/python/att-string-split.html']
    7:['http:', '/www.runoob.com/python/att-string-split.html']
    8:['http:', '', 'www.runoob.com/python/att-string-split.html']
    9:['http:', '', 'www.runoob.com', 'python/att-string-split.html']
    10:['http:', '', 'www.runoob.com', 'python', 'att-string-split.html']
    11:['http:', '', 'www.runoob.com', 'python', 'att-string-split.html']
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    处理表格文件
    date.txt文件如下
    1 0.0888 201 36.02 28 0.5885
    2 0.1399 198 39.32 30 0.8291

    import os
    data = []
    for lines in open(r"date.dat",'r').readlines():
    lines.strip()
    s = [x for x in lines.strip().split()]
    data.append(s)

    print(data)
    print(len(data[0]))
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Python splitlines()方法
    Python splitlines() 按照行(‘ ’, ‘ ’, ’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符

    str.splitlines([keepends])
    keepends – 在输出结果里是否去掉换行符(‘ ’, ‘ ’, ’),默认为 False,不包含换行符,如果为 True,则保留换行符。

    str1 = 'ab c de fg kl '
    print str1.splitlines();

    str2 = 'ab c de fg kl '
    print str2.splitlines(True)

    #返回结果
    ['ab c', '', 'de fg', 'kl']
    ['ab c ', ' ', 'de fg ', 'kl ']
    1
    2
    3
    4
    5
    6
    7
    8
    9
    join()方法
    Python中有join()和os.path.join()两个函数,具体作用如下:
    join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
    os.path.join(): 将多个路径组合后返回

    join()方法将列表中的字符元素合并为一个大的字符串

    一、函数说明
    1、join()函数
    语法: ‘sep’.join(seq)
    参数说明
    sep:分隔符。可以为空
    seq:要连接的元素序列、字符串、元组、字典
    上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

    返回值:返回一个以分隔符sep连接各个元素后生成的字符串

    2、os.path.join()函数

    语法: os.path.join(path1[,path2[,……]])
    返回值:将多个路径组合后返回
    注:第一个绝对路径之前的参数将被忽略

    #对序列进行操作(分别使用' '与':'作为分隔符)

    >>> seq1 = ['hello','good','boy','doiido']
    >>> print ' '.join(seq1)
    hello good boy doiido
    >>> print ':'.join(seq1)
    hello:good:boy:doiido


    #对字符串进行操作

    >>> seq2 = "hello good boy doiido"
    >>> print ':'.join(seq2)
    h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o


    #对元组进行操作

    >>> seq3 = ('hello','good','boy','doiido')
    >>> print ':'.join(seq3)
    hello:good:boy:doiido


    #对字典进行操作

    >>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}
    >>> print ':'.join(seq4)
    boy:good:doiido:hello


    #合并目录

    >>> import os
    >>> os.path.join('/hello/','good/boy/','doiido')
    '/hello/good/boy/doiido'
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    strip()方法
    Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)。
    str.strip([chars])
    参数 chars – 移除字符串头尾指定的字符。

    str = "0000000this is string example....wow!!!0000000"
    print (str.strip( '0' ))
    1
    2
    输出:

    this is string example....wow!!!
    1
    replace()
    描述
    Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

    语法
    replace()方法语法:

    str.replace(old, new[, max])

    参数

    old – 将被替换的子字符串。
    new – 新字符串,用于替换old子字符串
    max – 可选字符串, 替换不超过 max 次

    返回值
    返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。

    实例

    #!/usr/bin/python
    str = "this is string example....wow!!! this is really string";
    print str.replace("is", "was");
    print str.replace("is", "was", 3);
    1
    2
    3
    4
    5
    输出:


    thwas was string example….wow!!! thwas was really string
    thwas was string example….wow!!! thwas is really string
    ---------------------
    原文:https://blog.csdn.net/qq_40170358/article/details/79774154

  • 相关阅读:
    贝叶斯分类
    K-Means算法
    python数组
    深度学习与神经网络
    数据挖掘算法之-关联规则挖掘(Association Rule)
    k8s记录-pip源配置
    k8s记录-yum本地仓库部署
    k8s记录-不同集群服务互联
    k8s记录-kube-dns(core-dns)配置(七)
    k8s记录-kubectl常用
  • 原文地址:https://www.cnblogs.com/leon0/p/10788565.html
Copyright © 2020-2023  润新知