zoukankan      html  css  js  c++  java
  • python string 文本常量和模版

        最近在看python标准库这本书,第一感觉非常厚,第二感觉,里面有很多原来不知道的东西,现在记下来跟大家分享一下。

        string类是python中最常用的文本处理工具,在python的标准库中,有大量的工具,可以帮助我们完成高级文本处理。

    • capwords()是将一个字符串中的所有单词的首字母大写。
    import string
    
    s = 'The quick brown fox jumped over the lazy dog.'
    print s
    print string.capwords(s)

    运行结果如下:

    The quick brown fox jumped over the lazy dog.
    The Quick Brown Fox Jumped Over The Lazy Dog.

    相当于先调用split(),这会将结果列表中的各个单词的首字母大写,然后再调用join()合并结果。

    • maketrans()函数将创建转换表,可以用来结合translate()方法将一组字符修改成另一组字符,这种方法比反复调用replace()更为高效
    import string
    
    leet = string.maketrans('abegiloprstz', '463611092572')
    s = 'The quick brown fox jumped over the lazy dog.'
    print s
    print s.translate(leet)

    运行结果如下:

    The quick brown fox jumped over the lazy dog.
    Th3 qu1ck 620wn f0x jum93d 0v32 7h3 142y d06.
    • 字符串模版是替代内置拼接(interpolation)的一种候选方法。使用string.Template拼接时,可以在变量名前面加上前缀$来标识变量,或者如果需要与两侧的文本相区分,还可以使用大括号将变量括起。
    import string
    
    values = {'var' : 'foo'}
    
    t = string.Template("""
    Variable         : $var
    Escape           : $$
    Variable in text : ${var}iable
    """)
    
    print 'TEMPLATE:', t.substitute(values)
    
    s = """
    Variable         : %(var)s
    Escape           : %%
    Variable in text : %(var)siable
    """
    
    print 'INTERPOLATION:', s % values

    运行结果

    TEMPLATE:
    Variable         : foo
    Escape           : $
    Variable in text : fooiable

    INTERPOLATION:
    Variable         : foo
    Escape           : %
    Variable in text : fooiable

  • 相关阅读:
    codility上的问题(15) Xi 2012
    HDU 4350 Card
    如何在SourceInsight中选中匹配的大括号中的内容
    Codility上的问题 (16) Omicron 2012
    WPF的MVVM
    html5的自定义data-*属性和jquery的data()方法的使用
    hdu 4635 Strongly connected(强连通+缩点)
    HDU3709:Balanced Number(数位DP+记忆化DFS)
    NGUI: Documentation
    Android到您的计算机使用命令行屏幕捕获和出口
  • 原文地址:https://www.cnblogs.com/roicel/p/3157614.html
Copyright © 2011-2022 走看看