上一篇文章提到过字符串相关知识,今天我们接着来学一下字符串的分片索引、替换等。分片索引用的比较多,替换至少我目前还没用到(作为小白的我学习进度较缓慢)
1
字符串分片与索引
字符串可以通过string[]的方式进行索引、分片,也就是加一个[]。字符串的分片(slice)实际上可以看做是从字符串中找出你要截取的东西,复制出来你想要的长度,存储到另一个地方,而不会对字符串这个源文件进行改动。分片获得的字符串可以看做是字符串的一个副本。
我们来根据上图提示来敲一遍代码:
>>> name="My Name is Mike"
>>> len(name)
15
前一篇文章有提到过用len()函数来获取字符串长度(字节数量)
如果,我们需要对一个字符串进行截取,我们可以对字符串进行切片。
切片操作是将字符串赋值到一个变量,然后通过输入截取的起始位置、终止位置以及方向与间隔,对字符串进行不同方式的截取。
>>> name[0]
'M'
>>> name[5:]
'me is Mike'
>>> name[:5]
'My Na'
注解:
:两边分别代表着字符串的分割从哪里开始,并到哪里结束。以name[11:15]为例,截取的编号从第11个字符开始,并到第15个字符结束但不包含第15个字符。
name[5]代表从编号为5的字符开始一直到结束的字符串分片;
name[:5]代表从编号为0的字符开始到编号为5但不包含第5个字符的字符分片。
我作为一个小白,感觉其实注解也有点啰嗦,这里就举3个案例,剩下的自己去模仿代码敲一下,敲着敲着就能明白其中的奥秘,有时候保持那份难得糊涂也挺值得的!
2
字符串替换
>>> num2=num1.replace(num1[:10],'#'*10)
>>> print(num2)
##########888
上面使用了一个新的字符串方法replace.()来进行‘遮挡’,replace.()方法的括号中,第一个num1[:10]代表要被替换掉的部分,后面的'#'*9代表将要替换成什么字符。
替换部分字符的方法是“replace(old,new,count)”,如上所述,这个函数有三个参数:
old:表示需要被替换的字符或字符串;
new:表示替换后的新字符或字符串;
count:表示替换的次数,此参数可省略;如果省略表示替换所有需要被替换的字符或字符串。
3
字符串操作异常
这个是什么情况呢?字符串不是可以拼接吗?怎么就拼接不成功呢?num这个变量咱们赋值为1,是一个整型(integer),string这个变量,赋值的是个字符串'1',不同的数据类型是不能进行合并的,但是可以转换之后在合并,上篇文章有提到过转换方法,不懂得可以把上篇文章调出来看看
4
字符串其它操作
①字符串可以相加,那么字符串可以相乘吗?咱们练起来,实战检验想法:
>>> a='Hello Python'
>>> print(a*3)
Hello PythonHello PythonHello Python
细心的小伙伴就发现,不太美观,对吧?能不能美观点呢:
>>> print('Hello Python\n'*3)
Hello Python
Hello Python
Hello Python
上一篇咱们提到的换行符\n就用上了
②字符串大小写转换
upper(): 字符串全部字符转换为大写,lower():字符串全部字符转换为小写
>>> a='Hello World'
>>> a.upper()
'HELLO WORLD'
swapcase() :字符串全部字符大小写互换,capitalize():字符串首个单词首字母大写,title(): 字符串中全部单词首字母大写
>>> a.swapcase()
'hELLO wORLD'
>>> b='hello world'
>>> b.capitalize()
'Hello world'
>>> b.title()
'Hello World'
这些方法均不用写入参数,直接调用。
部分内容来源于网络,若有侵权,请联系作者删除!!!
领取专属 10元无门槛券
私享最新 技术干货