Weibw's World Weibw's World
首页
  • HTML
  • Python

    • Python基础知识
    • Python CookBook第三版
    • Flask
  • MySQL

    • MySQL基础知识
    • MySQL调优
    • MySQL面试题
算法
  • FineReport
  • Kettle
  • Git
  • 微信公众号文章
  • 优秀博客文章
  • 其他
收藏夹
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Weibw

一个没有梦想的咸鱼
首页
  • HTML
  • Python

    • Python基础知识
    • Python CookBook第三版
    • Flask
  • MySQL

    • MySQL基础知识
    • MySQL调优
    • MySQL面试题
算法
  • FineReport
  • Kettle
  • Git
  • 微信公众号文章
  • 优秀博客文章
  • 其他
收藏夹
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 《Flask》

  • 《Python Cookbook》第三版

    • 第一章:数据结构与算法

    • 第二章:字符串和文本

      • 使用多个界定符分割字符串
      • 字符串开头或结尾匹配
      • 用 Shell 通配符匹配字符串
      • 字符串匹配和搜索
      • 字符串搜索和替换
      • 字符串忽略大小写的搜索替换
      • 最短匹配模式
      • 多行匹配模式
      • 将 Unicode 文本标准化
      • 在正则式中使用 Unicode
      • 删除字符串中不需要的字符
      • 审查清理文本字符串
      • 字符串对齐
        • 合并拼接字符串
        • 字符串中插入变量
        • 以指定列宽格式化字符串
        • 在字符串中处理html和xml
        • 字符串令牌解析
        • 实现一个简单的递归下降分析器
        • 字节字符串上的字符串操作
      • 第三章:数字日期和时间

      • 第四章:迭代器与生成器

      • 第五章:文件与IO

      • 第六章:数据编码和处理

      • 第七章:函数

      • 第八章:类与对象

      • 第九章:元编程

      • 第十章:模块与包

      • 第十一章:网络与Web编程

      • 第十二章:并发编程

      • 第十三章:脚本编程与系统管理

      • 第十四章:测试、调试和异常

      • 第十五章:C语言扩展

    • Python基础

    • Python
    • 《Python Cookbook》第三版
    • 第二章:字符串和文本
    weibw
    2022-01-03

    字符串对齐

    # 问题

    你想通过某种对齐方式来格式化字符串

    # 解决方案

    对于基本的字符串对齐操作,可以使用字符串的 ljust() , rjust() 和 center()方法。比如:

    >>> text = 'Hello World'
    >>> text.ljust(20)
    'Hello World '
    >>> text.rjust(20) ' Hello World'
    >>> text.center(20)
    ' Hello World '
    >>>
    
    1
    2
    3
    4
    5
    6
    7

    所有这些方法都能接受一个可选的填充字符。比如:

    >>> text.rjust(20,'=')
    '=========Hello World'
    >>> text.center(20,'*')
    '****Hello World*****'
    >>>
    
    1
    2
    3
    4
    5

    函数 format() 同样可以用来很容易的对齐字符串。你要做的就是使用 <,> 或者 ^字符后面紧跟一个指定的宽度。比如:

    >>> format(text, '>20') ' Hello World'
    >>> format(text, '<20')
    'Hello World '
    >>> format(text, '^20')
    ' Hello World '
    >>>
    
    1
    2
    3
    4
    5
    6

    如果你想指定一个非空格的填充字符,将它写到对齐字符的前面即可:

    >>> format(text, '=>20s')
    '=========Hello World'
    >>> format(text, '*^20s')
    '****Hello World*****'
    >>>
    
    1
    2
    3
    4
    5

    当格式化多个值的时候,这些格式代码也可以被用在 format() 方法中。比如:

    >>> '{:>10s} {:>10s}'.format('Hello', 'World')
    ' Hello World'
    >>>
    
    1
    2
    3

    format() 函数的一个好处是它不仅适用于字符串。它可以用来格式化任何值,使得它非常的通用。比如,你可以用它来格式化数字:

    >>> x = 1.2345
    >>> format(x, '>10')
    ' 1.2345'
    >>> format(x, '^10.2f')
    ' 1.23 '
    >>>
    
    1
    2
    3
    4
    5
    6

    # 讨论

    在老的代码中,你经常会看到被用来格式化文本的 % 操作符。比如:

    >>> '%-20s' % text
    'Hello World '
    >>> '%20s' % text
    ' Hello World'
    >>>
    
    1
    2
    3
    4
    5

    但是,在新版本代码中,你应该优先选择 format() 函数或者方法。format() 要比% 操作符的功能更为强大。并且 format() 也比使用 ljust() , rjust() 或 center() 方法更通用,因为它可以用来格式化任意对象,而不仅仅是字符串。

    如果想要完全了解 format() 函数的有用特性,请参考 在线 Python 文档

    编辑 (opens new window)
    #Python
    上次更新: 2023/10/13, 17:39:25
    审查清理文本字符串
    合并拼接字符串

    ← 审查清理文本字符串 合并拼接字符串→

    最近更新
    01
    牛客网非技术快速入门SQL练习题
    03-08
    02
    其他日常SQL题
    03-07
    03
    用户与权限管理
    03-05
    更多文章>
    Theme by Vdoing | Copyright © 2021-2023 | Weibw | 辽ICP备18015889号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式