资讯专栏INFORMATION COLUMN

Python实用技法第32篇:对齐文本字符串

leon / 3510人阅读

摘要:解决方案对于基本的字符串对齐要求,可以使用字符串的和方法。例如的好处之一是它并不是特定于字符串的。此外,可作用于任意类型的对象,比字符串的以及方法要更加通用。上一篇文章实用技法第篇文本过滤和清理下一篇文章实用技法第篇字符串连接及合并

上一篇文章:Python实用技法第31篇:文本过滤和清理
下一篇文章:Python实用技法第33篇:字符串连接及合并
 问题

我们需要以某种对齐方式将文本做格式化处理。

 解决方案

对于基本的字符串对齐要求,可以使用字符串的ljust()、rjust()和center()方法。示例如下:

>>> text = "Hello World"
>>> text.ljust(20)
"Hello World "
>>> text.rjust(20)
"           Hello World"
>>> text.center(20)
"     Hello World "
>>>

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

>>> text.rjust(20,"=")
"=========Hello World"
>>> text.center(20,"*")
"****Hello World*****"
>>>

format()函数也可以用来轻松完成对齐的任务。需要做的就是合理利用"<"、">",或"^"字符以及一个期望的宽度值[2]。例如:

>>> format(text, ">20")
"           Hello World"
>>> format(text, "<20")
"Hello World "
>>> format(text, "^20")
"     Hello World "
>>>

如果想包含空格之外的填充字符,可以在对齐字符之前指定:

>>> format(text, "=>20s")
"=========Hello World"
>>> format(text, "*^20s")
"****Hello World*****"
>>>

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

>>> "{:>10s} {:>10s}".format("Hello", "World")
"    Hello        World"
>>>

format()的好处之一是它并不是特定于字符串的。它能作用于任何值,这使得它更加通用。例如,可以对数字做格式化处理:

>>> x = 1.2345
>>> format(x, ">10")
"     1.2345"
>>> format(x, "^10.2f")
"     1.23 "
 讨论

在比较老的代码中,通常会发现%操作符用来格式化文本。例如:

>>> "%-20s" % text
"Hello World "
>>> "%20s" % text
"           Hello World"

但是在新的代码中,我们应该会更钟情于使用format()函数或方法。format()比%操作符提供的功能要强大多了。此外,format()可作用于任意类型的对象,比字符串的ljust()、rjust()以及center()方法要更加通用。

想了解format()函数的所有功能,请参考Python的在线手册http://docs.python.org/3/libr... string. html#formatspec。

上一篇文章:Python实用技法第31篇:文本过滤和清理
下一篇文章:Python实用技法第33篇:字符串连接及合并

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44123.html

相关文章

  • Python实用技法31文本过滤和清理

    摘要:上一篇文章实用技法第篇从字符串中去掉不需要的字符下一篇文章实用技法第篇对齐文本字符串问题某些无聊的脚本小子在页面表单中填入了这样的文本,我们想以某种方式将其清理掉。讨论文本过滤和清理的一个主要问题就是运行时的性能。 上一篇文章:Python实用技法第30篇:从字符串中去掉不需要的字符下一篇文章:Python实用技法第32篇:对齐文本字符串  问题 某些无聊的脚本小子在Web页面表单中...

    Bryan 评论0 收藏0
  • Python实用技法33符串连接及合并

    摘要:上一篇文章实用技法第篇对齐文本字符串下一篇文章问题我们想将许多小字符串合并成一个大的字符串。示例如下对于不必要的字符串连接操作也要引起重视。有时候在技术上并非必需的时候,程序员们也会忘乎所以地使用字符串连接操作。 上一篇文章: Python实用技法第32篇:对齐文本字符串下一篇文章:  问题 我们想将许多小字符串合并成一个大的字符串。  解决方案 如果想要合并的字符串在一个序列或可迭代...

    JayChen 评论0 收藏0
  • Python实用技法30:从符串中去掉不需要的字符

    摘要:上一篇文章实用技法第篇用正则表达式处理字符下一篇文章实用技法第篇文本过滤和清理问题我们想在字符串的开始结尾或中间去掉不需要的字符,比如说空格符。解决方案方法可用来从字符串的开始和结尾处去掉字符。 上一篇文章: Python实用技法第29篇:用正则表达式处理Unicode字符下一篇文章:Python实用技法第31篇:文本过滤和清理  问题 我们想在字符串的开始、结尾或中间去掉不需要的字...

    yck 评论0 收藏0
  • Python实用技法21:在符串的开头和结尾处做文本匹配

    摘要:上一篇文章实用技法第篇针对任意多的分隔符拆分字符串下一篇文章实用技法第篇利用通配符做字符串匹配需求 上一篇文章:Python实用技法第20篇:针对任意多的分隔符拆分字符串下一篇文章:Python实用技法第22篇:利用Shell通配符做字符串匹配 1、需求

    maxmin 评论0 收藏0
  • Python实用技法23:正则:文本模式的匹配和查找

    摘要:上一篇文章实用技法第篇利用通配符做字符串匹配下一篇文章实用技法第篇正则查找和替换文本需求 上一篇文章:Python实用技法第22篇:利用Shell通配符做字符串匹配下一篇文章:Python实用技法第24篇:正则:查找和替换文本 1、需求

    ralap 评论0 收藏0

发表评论

0条评论

leon

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<