Python3.4字符串对齐/删除空格/合并/反转

"""
1. 字符串对齐
"""

#对齐方式
print ('|' + '左对齐'.ljust(20) + '|' + '右对齐'.rjust(20) + '|'+ '居中'.center(20) + '|')
#|左对齐                 |                 右对齐|         居中         |

#填充字符串
print ('|' + '左对齐'.ljust(20,'#') + '|' + '右对齐'.rjust(20,'#') + '|'+ '居中'.center(20,"#") + '|')
#  |左对齐#################|#################右对齐|#########居中#########|

"""
2. 删除空格
"""

test_del_space = '    Mr.B    '


print("#删除字符串左边的空格: |" + test_del_space.lstrip()+'|')
print("#删除字符串右边的空格: |" + test_del_space.rstrip()+'|')
print("#删除字符串两边的空格: |" + test_del_space.strip()+'|')
"""
#删除字符串左边的空格: |Mr.B    |
#删除字符串右边的空格: |    Mr.B|
#删除字符串两边的空格: |Mr.B|
"""

test_del_char = 'xyxxyy hejyx yyx'
print('#移除其他字符: |'+test_del_char.strip('xy')+'|')  #移除其他字符: | hejyx |

"""
3. 合并字符串
"""

smal1 = '老'
smal2 = '毕'
smal3 = '帅'

#强烈推荐使用,性能好,代码可读性好,可直接将其它格式转为字符串,还可以控制有效位数
print('#使用字符串格式化操作符%: ' + '%s%s非常%s' % (smal1,smal2,smal3)) ##使用字符串格式化操作符%: 老毕非常帅

print('#使用加号: ' + smal1 + smal2 + '很' + smal3)

largeString = ''
smallist = ['老','毕','很','帅']
for x in smallist:
	largeString += x

print ("#使用遍历: " + largeString)

import operator
from functools import reduce  
"""
知识拓展1:
reduce(...)
    reduce(function, sequence[, initial]) -> value
  对sequence中的item顺序迭代调用function,函数必须要有2个参数。要是有第3个参数,则表示初始值,可以继续调用初始值,返回一个值。

知识拓展2:
operator.add(a,b) 
	:return a + b
"""

lstr = reduce(operator.add,smallist,'') #注意:python2中reduce是全局的,不用import,但python3需要import
print ("## 字符串全部相加: "+lstr)

"""
4.将字符中逐字符或逐词反转
"""

initchars = "我是个好人"
revchars = initchars[::-1]
print ("##通过切片反转字符: " + revchars)

initwords = "老毕 是  一个       好人"
revwords = initwords.split( ) #字符串分隔成列表
revwords.reverse() #反转列表
revwords =' '.join(revwords) #重新组合
print("##反转单词: " + revwords)

#一行解决反转单词
revwords2 = ' '.join(initwords.split()[::-1])
print ("##一行解决: " + revwords2)

#反转不改变原先的空格
import re
revwords3 = re.split(r'(\s+)',initwords)
revwords3.reverse()
revwords3 = ''.join(revwords3)
print ("##反转不改变原先的空格: " + revwords3)

#使用反转内建函数reversed
revwords4 = ' '.join(reversed(initwords.split()))

print ("##使用反转内建函数reversed: "+revwords4)

revwords5 = ' '.join(reversed(re.split(r'(\s)+',initwords)))
print ("##使用反转内建函数reversed: "+revwords5)





运行结果:

bixiaopeng@bixiaopengtekiMacBook-Pro python_text$ python lrcjust.py
|左对齐                 |                 右对齐|         居中         |
|左对齐#################|#################右对齐|#########居中#########|
#删除字符串左边的空格: |Mr.B    |
#删除字符串右边的空格: |    Mr.B|
#删除字符串两边的空格: |Mr.B|
#移除其他字符: | hejyx |
#使用字符串格式化操作符%: 老毕非常帅
#使用加号: 老毕很帅
#使用遍历: 老毕很帅
## 字符串全部相加: 老毕很帅
##通过切片反转字符: 人好个是我
##反转单词: 好人 一个 是 老毕
##一行解决: 好人 一个 是 老毕
##反转不改变原先的空格: 好人       一个  是 老毕
##使用反转内建函数reversed: 好人 一个 是 老毕
##使用反转内建函数reversed: 好人   一个   是   老毕

微信公众帐号: wirelessqa

wirelessqa

关于作者:

作者: 毕小朋 | 老 毕 邮箱: wirelessqa.me@gmail.com

微博: @WirelessQA 博客: http://blog.csdn.net/wirelessqa




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕小烦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值