python基本数据类型之字符串(二)

替换方法

python中字符串的替换方法主要有:center、rjust\ljust、expandtabs、format\format_map(格式化)、strip、rstrip\lstrip、replace和zfill。其中最重要的两个方法是replace和format。

1、replace

replace方法是用新子串替换原来字符串中的子串。

该方法有3个参数——replace(old, new, count),其中old是指原字符串中的子串;new是用来替换的新子串;count=None是默认参数,指定需要替换的子串个数,默认为None表示替换全部子串。

s = 'xiangfeiepo, haqishipugai'
v = s.replace('i','*')
print(v)

打印结果:

x*angfe*epo, haq*sh*puga*

当指定count时:

s = 'xiangfeiepo, haqishipugai'
v = s.replace('i', '*', 2)
print(v)

打印结果:

x*angfe*epo, haqishipugai

其中count也可以赋值为True或False。当赋值为True时,表示只替换第一个子串;当赋值为False时,表示不进行替换。

这一点涉及到了python中的类型转换。python中任何类型都可以转换为bool型,对于int类型来说,True为1,False为0。

2、center、rjust、ljust

这3个方法是用来调整字符串的对齐方式,center是居中对齐,rjust/ljust分别是右对齐和左对齐。

3个方法都需要2个参数——center(width, fillchar=None),width用来指定将字符串扩展至多少个字符,fillchar指定了其余位置用什么字符来进行填充。fillchar是默认参数,默认值None表示用空格进行填充。

s = 'YeYeYe'
v = s.center(20, '*')
v1 = s.rjust(20, '*')
v2 = s.ljust(20, '*')
print(v)
print(v1)
print(v2)

打印结果:

*******YeYeYe*******
**************YeYeYe
YeYeYe**************

如上所示,center将原字符串置于字符串中央,用指定字符将原字符串填充至20个字符。rjust将原字符串置于最右边(ljust将字符串置于最左边),并将左边(右边)用指定字符填充。

3、expandtabs

expandtabs方法是将字符串中的tab(\t)替换成空格。用具体的例子可以更好地理解该方法:

s = "haowefnowg\tahufebg\tadbge\tabdoane3"
v = s.expandtabs(6)
print(v)

打印结果如下:

haowefnowg  ahufebg     adbge abdoane3

expandtabs(6)表示程序会以6个字符为单位对原字符串进行截取。首先截取第一个6位(字符)——"haowef",该6位子串中没有\t,因此照原样输出;继续截取6个字符的子串,"nowg\t"这其中存在\t,因此,\t前面的字符会按原样输出,\t被替换成了2个(6-4=2)空格。照此规律继续截取下面的字符并进行替换。

该方法可以将原来字符串中的\t替换成若干个空格。expandtabs方法一般用来将用户的输出制作成表格进行输出:

s = '用户名\t密码\t邮箱\nguyexiangyun\t123456\tguyexiangyun@163.com\n'
v = s.expandtabs(30)
print(v)

打印结果:

用户名                           密码                            邮箱
guyexiangyun 123456 guyexiangyun@163.com

4、strip、rstrip、lstrip

这3个方法是用来删除字符串中的指定字符。strip删除字符串两端的指定字符,而rstrip\lstrip分别是用来删除字符串右端和左端的字符。

这3个方法仅有一个默认参数chars=None,用来指定要删除的字符。默认是删除字符串首尾的非打印字符,包括空格、制表符和换行符。

并且strip方法对字符串的匹配遵循优先最多匹配原则,即优先对字符个数最多的子串进行匹配

s = 'jeojfowei djw je'
v = s.strip('je')
v1 = s.rstrip('je')
v2 = s.lstrip('jeo')
print(v)
print(v1)
print(v2)

打印结果:

ojfowei djw
jeojfowei djw
fowei djw je

当字符串两端不存在指定字符时,strip方法会返回原字符串。

5、zfill

该方法用来扩展字符串,其余位置将由0来填充。并且0会被填充在字符串的左边(右对齐)。

s = 'dashidafei'
v = s.zfill(20)
print(v)

打印结果:0000000000dashidafei

6、format和format_map

这两个方法用来格式化字符串,其中设置格式的方式有很多种。具体参见《字符串的格式化》

python基本数据类型之字符串(二)的更多相关文章

  1. python基本数据类型之字符串(四)

    python基本数据类型之字符串(四) 判断方法 python中有一类用来判断字符串形式的方法,该类方法有两个特点:(1)方法名都是is开头(除了startswith和endswith):(2)返回值 ...

  2. Python基础数据类型之字符串

    Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...

  3. python基本数据类型之字符串(五)

    python基本数据类型之字符串(五) 遍历与查找 python中的字符串属于可迭代对象,通过一些方法可以遍历字符串中的每一个字符.而查找的方法主要有两个:find与index. 1.字符串的遍历 字 ...

  4. python基本数据类型之字符串(三)

    python基本数据类型之字符串(三) 转换和判断方法 在python中,有一些内置方法可以将字符串转化特定形式,而与之对应的一些方法可以判断字符串是否符合某些形式.因此,在这篇文章中,笔者把转换方法 ...

  5. python自学笔记(二)python基本数据类型之字符串处理

    一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...

  6. Python基本数据类型之字符串、数字、布尔

     一.数据类型种类 Python中基本数据类型主要有以下几类: Number(数字) String(字符串) Bool (布尔) List(列表) Tuple(元组) Sets(集合) Diction ...

  7. python的数据类型之字符串(二)

    字符串常见操作 如有字符串mystr = 'hello xiaose',以下是常见的操作 1.find 检测某个字符串是否包含在 mystr中,如果是返回开始的索引值,否则返回-1 格式:mystr. ...

  8. python基本数据类型:字符串及其方法(二)

    格式化类 方法join() #join()用指定字符每间隔拼接字符串 name='miku' name1=' '.join(name) print(name1) 方法center() #center( ...

  9. Python开发——数据类型【字符串】

    字符串定义 字符串是一个有序的字符的集合,用于存储和表示基本的文本信息 在Python中加了引号的字符,都被认为是字符串! 单引号.双引号.多引号之间的区别? 答案:单双引号没有区别 多引号的作用? ...

随机推荐

  1. HTML span标签:用来组合文档中的行内元素

    在DIV+CSS切图布局重构技术中,除了常常使用div标签外也常常使用span标签布局,通常也可以通过对span标签对象设置不同样式实现我们要的美化效果.这里主机吧主要讲的是span标签的定义和用法. ...

  2. Go的CSP并发模型实现:M, P, G

    最近抽空研究.整理了一下Golang调度机制,学习了其他大牛的文章.把自己的理解写下来.如有错误,请指正!!! golang的goroutine机制有点像线程池:        一.go 内部有三个对 ...

  3. 性能测试day03_前端分析调优思路

    刚刚看到有人支持我写的博客,表示还是比较感动的,发现热心的用户在我的博客留言说“一个系统每天有200万在线用户,问我怎么设计性能场景?”,其实这个问题呢就属于业务没理清,这个问题就像我问你,一个城市一 ...

  4. leetcode7. 整数反转

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: ...

  5. windows的cmd批处理命令及powershell (二)

    1.变量设置 for /l %%i in (1,1,100) do @echo %%i set /a i=500set /a i=%i%+200echo %i%pause ++++++++++++++ ...

  6. python中TCP粘包问题解决方案

    TCP协议中的粘包问题 1.粘包现象 基于TCP写一个远程cmd功能 #服务端 import socket import subprocess sever = socket.socket() seve ...

  7. Java CompletableFuture:allOf等待所有异步线程任务结束

    private void method() throws ExecutionException, InterruptedException { CompletableFuture<String& ...

  8. 群晖上使用kvm(qemu)笔记[原创]

    1.今日偶然逛github里发现一个项目:https://github.com/bsdcpp/synoKVM 下载spk后手工安装,马上可以使用 2.新建XP实例后发现xp的安装盘不认识qemu的vi ...

  9. 自然语言处理的CNN模型中几种常见的池化方法

    自然语言处理的CNN模型中几种常见的池化方法 本文是在[1]的基础上进行的二次归纳. 0x00 池化(pooling)的作用   首先,回顾一下NLP中基本的CNN模型的卷积和池化的大致原理[2].f ...

  10. TXLSReadWriteII 公式计算

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...