博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串及其操作方法
阅读量:5046 次
发布时间:2019-06-12

本文共 3523 字,大约阅读时间需要 11 分钟。

str:字符串,用引号引起来的都是字符串。用于储存少量数据进行操作。

其他数据类型转换为字符串类型的方法:str()。

字符串的索引与切片。

 索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。

a = 'ABCDEFGHIJK'print(a[0])   #索引要用中括号括起来

  输出结果为:

A

切片就是通过索引(索引首:索引尾:步长)截取字符串的一段,形成新的字符串,原字符串不作任何改变(原则就是顾头不顾尾,意思就是从设定的头开始到设定的尾的前一位数据)

a = 'ABCDEFGHIJK'print(a[0:3])print(a[2:5])print(a[0:]) #默认到最后print(a[0:-1]) # -1 是列表中最后一个元素的索引,但是要满足顾头不顾尾的原则,所以取不到K元素print(a[0:5:2]) #加步长,步长指在设定的切片首位之间,每间隔步长-1,取一个数据。这段代码意为在ABCDE中每隔一个数据取一个数据,所以输出位ACE。print(a[5:0:-2]) #反向加步长;意为从F开始到A之间,每隔一个数据,取一个数据,所以输出的数据是FDB

ps:

 若要取全部值可用【:】冒号两边都为空,若【0:0】输出为空,不会报错

要取的数据之间的步长必须相等

字符串的常用方法:

 

1、首字母大写:capitalize()

s = "aires" s1 = s.capitalize() print(s1)

  输出结果为:

Aires

2、字符串所有字母大写:upper()

s = "aires"s2 = s.upper()print(s2)

  输出结果为:

AIRES

3、字符串所有字母小写:lower()

s = "AIRES"s3 = s.lower()print(s3)

  输出结果为:

aires

4、字符串中字母大小写反转:swapcase()

(1)大写转小写

s = "AIRES"s4 = s.swapcase()print(s4)

  输出结果为:

aires

(2)小写转大写

a = "aires"s41 = a.swapcase()print(s41)

  输出结果为:

AIRES

5、在单词中间隔着空格、特殊字符或数字的情况下首字母大写:title()

s = "air;es asd-fg fj2fj"s5 = s.title()print(s5)   #只要字符串中有除了英文以外的字符,那么那个字符后面的那一个英文字母转换为大写。

  输出结果为:

Air;Es Asd-Fg Fj2Fj

6、字符串内容居中,字符串总长度,空白处填充其他字符:center()   (长度,填充字符

s = "Aires"s6 = s.center(40,"-")    #(长度,填充)若使用此方法,长度必须填,若想保持不变可以填0,不可为空。填充符可不填,默认为空格。print(s6)

  输出结果为:

-----------------Aires------------------

7、位数补齐(不常用):exoandtabs()

s = "Air\tes"     #   \t

s = "Air\tes"    #\t==Tab键  若字符串中有“\t”键 那便与它前面的字符加空格补齐八位,若前面的字符已够八位那便补齐16位,然后是24位...32位s7 = s.expandtabs()print(s7)

  输出结果为:

Air     es

8、★公共方法(字符串,元组,列表,字典等皆可用的方法)len()   (变量名)

s = "Aires"s8 = len(s)   print(s8)

  输出结果为:

5    #用于字符串输出有多少字符,用于元组输出有多少元素,用于列表输出有多少元素,用于字典输出有多少键值对;

9、判断一组字符串的开头或结尾(可切片):

  开头:startswith()

s = "Aires"s9 = s.startswith("Air",0,4)   #(需要判定的开头,设定切片首,设定切片尾)(顾头不顾尾)print(s9)

  输出结果为:

True    # 返回的值为bool(布尔值)

  结尾:endswith()

s = "Aires"s91 = s.endswith("re",0,4)    #(需要判定的结尾,设定切片首,设定切片尾)(顾头不顾尾)print(s91)

  输出结果为:

True
10、寻找字符串中是否有某个字符:find()  通过字符找索引   index()与find()差不多,但找不到会报错,所以一般选择用find()
s = "Aires"s10 = s.find("re",0,4)   #用find通过元素(字符)寻找索引,找到的情况下返回第一个元素(字符)的索引,找不到返回-1.print(s10)

  输出结果为:

2

11、删除字符串前后的空格或字符:strip();   

   删除左侧的空格或字符:lstrip();

   删除右侧的空格或字符:rstrip(); 

从左删lstrip()  意为只删左面的,右面的不懂,反之,从右删rstrip() 意为只删右边的,左边的不动。

ps:括号不填默认删除空格或换行符(\n),括号里填什么字符就前后删除什么字符,可多填,中间不用逗号分开。不能删字符串中间的字符,只能删两边的 

s = "**Ai*res**"s11 = s.strip("*A") #括号不填默认删除空格,括号里填什么字符就前后删除什么字符,可多填,中间不用逗号分开。不能删字符串中间的字符,只能删两边的print(s11)

  输出结果为:

i*res

12、★分割  字符串转换为列表:split()

s = "Ai;re;s"s12 = s.split(";")    括号中不写默认为以空格分割字符串为列表。括号里填什么符号就以什么符号分割字符串为列表。print(s12)

  输出结果为:

['Ai', 're', 's']   #结果为列表

13、格式化输出的三种玩法:format(尽量用这种格式化输出方法)

s13='我叫{},我{}岁了,我的爱好是{}'.format('aires',18,'play computergame')      #顺序输入s131='我叫{0},我{1}岁了,我的爱好是{2}'.format('aires',18,'play computergame')   #索引s132='我叫{name},我{age}岁了,我的爱好是{hobby}'.format(hobby='play computergame',name='aires',age=18)   #字典(键值对)print(s13)print(s131)print(s132)

  输出结果为:

我叫aires,我18岁了,我的爱好是play computergame我叫aires,我18岁了,我的爱好是play computergame我叫aires,我18岁了,我的爱好是play computergame

14、替换:repalce()(需要替换的字符,新的字符,替换次数)替换次数为空默认全部替换

s = "123666aaaaad"ls = s.replace("a","q")print(ls)

  输出结果为:

123666qqqqqd

15、判断字符串是否由(数字,字母,数字或字母)组成:

  数字:isdigit() ;

  字母:isalpha()   ;

  数字或字母:isalnum()

  只返回两个结果(布尔值)(True,False)

  ps:括号里不写参数

name = "aires132546"print(name.isalnum()) #字符串由字母或数字组成print(name.isalpha()) #字符串只由字母组成print(name.isdigit()) #字符串只由数字组成

  输出结果为:

TrueFalseFalse

16、计算一个元素在字符串里出现了多少次(计数):count()

  ps:与“len()”一样可用于列表

s = "123666aaaaad"ls = s.count("6")print(ls)

  输出结果为:

3

  

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/aries-zhang/p/10328049.html

你可能感兴趣的文章
关于js的设计模式(简单工厂模式,构造函数模式,原型模式,混合模式,动态模式)...
查看>>
KMPnext数组循环节理解 HDU1358
查看>>
android调试debug快捷键
查看>>
【读书笔记】《HTTP权威指南》:Web Hosting
查看>>
Inoodb 存储引擎
查看>>
数据结构之查找算法总结笔记
查看>>
Linux内核OOM机制的详细分析
查看>>
Android TextView加上阴影效果
查看>>
Requests库的基本使用
查看>>
C#:System.Array简单使用
查看>>
C#inSSIDer强大的wifi无线热点信号扫描器源码
查看>>
「Foundation」集合
查看>>
算法时间复杂度
查看>>
二叉树的遍历 - 数据结构和算法46
查看>>
类模板 - C++快速入门45
查看>>
centos7 搭建vsftp服务器
查看>>
RijndaelManaged 加密
查看>>
Android 音量调节
查看>>
HTML&CSS基础学习笔记1.28-给网页添加一个css样式
查看>>
windows上面链接使用linux上面的docker daemon
查看>>