Python 之字符串及神奇的内置方法

字符串


字符串就是一系列字符,在python中,用括号引起来的都是字符串,其中的引号可以是单引号,也可是双引号,看官请看下列代码:

'This is a string'
'This is also string'

使用方法修改字符串的大小写


对于字符串,可执行最简单的操作,修改其中单词的大小写,请看下列代码:

name = 'junhao'
print(name.title())#title():将字符串的首字母以大写形式输出
-------------------
Junhao #输出结果

title():是将字符串的首字母大写形式输出。
在上面代码中,是将字符串 ‘junhao’ 存储到变量name中,在name.title()中,name后面的(.)让python对变量name执行title()指定的操作。每个方法后面都跟着括号,这是因为方法通常需要额外的信息来完成工作。这种信息在括号里提供,函数title()不需要额外的信息,因此它括号里是空的。

那么现在我想将字符串全部以大写的形式输出,我们可以利用upper()方法来实现:

name = 'junhao'
print(name.upper())#upper():将字符串全部转换成大写输出
------------------
JUNHAO #输出结果

现在我又想将字符串全部转换成小写,我们现在该怎么做呢? 请看下面lower()方法:

name = 'junhao'
print(name.lower())
--------------
junhao #输出结果

合并(拼接)字符串


在很多情况下我们需要拼接字符串。例如:我们将姓和名字存放在不同的变量中,需要显示姓名时我们再将其拼接起来。

name1 = 'zang'
name2 = 'junhao'
print(name1+" "+name2)
---------------------
zang junhao #输出结果

python中使用“+”号来拼接字符串。

使用制表符或者换行符来添加空白


在编程中,空白泛指任何非打印字符,如空格、制表符和换行符。
制表符:\t 请看下面示例:

name = '\tjunhao'
print(name)
---------------------
    junhao #请注意前面的缩进

换行符:\t 请看下面示例:

msg = '清华说:\n我想吃肉!\n还想吃水果\n'
print(msg)
------------------------
清华说:
我想吃肉!
还想吃水果  #输出结果

删除空白及特殊符号


strip(),lstrip(),rstrip() 这三个方法是删除字符串中多余的空白,上面说到 方法后面都跟着括号,这是因为方法通常需要额外的信息来完成工作,删除空白方法括号里面就可添加额外的信息。
rstrip():删除字符串右边多余的空白

msg = '我想去看海** '
print(msg)
print(msg.rstrip()) #使用rstrip()方法后删除了右边的空格,请看下面输出结果
----------------------
'我想去看海 ' #实际上,在海的后面是有一个空格,为了方便看,我用引号引起来 
'我想去看海' #输出结果

lstrip():删除字符串左边多余的空白

msg = '  我想去看海'
print(msg)
print(msg.lstrip()) # lstrip()删除左边多余空白
--------------------
'  我想去看海'
'我想去看海'

strip():删除左、右边多余的空白

msg = '  我想去看海  '
print(msg)
print(msg.strip()) # strip()删除左右两边的空白
-----------------------
'  我想去看海  '
'我想去看海' #请看两边的空白是不是已经被去除,神奇吧

如果字符串的两边不是空白,是特殊字符,那我们在方法的括号里面添加要删除的符号即可
删除字符串两边特殊符号

msg = '*我想去看海**'
print(msg)
print(msg.strip('*')) #括号里敲上要删除的特殊字符,同理:如果想单独删除右边的即:rstrip("*"),删除左边的lstrip('*')
---------------------
*我想去看海* #第一次输出结果
我想去看海 #输出结果

字符串的截取与步长操作

字符串中所说的截取,也就是我们常说的‘ 切片 ’操作。下面我从某博主上面load 下来的一张图,觉得很直观,在这里引用一下:
在这里插入图片描述
上图所标的序列,我们常称为下标,对字符串,起始位置从左向右(0–>)依次排序,从右向左排序,则反之开始我们以下标的方式取值,请看下列代码:

lesson = 'python'
print(lesson[:]) #变量后 中括号什么都不加,表示 字符串全部截取
print(lesson[0:2])# 其实位置 0 , 终止 2      ##截取这个中括号属于顾前不顾后,也就是说包含起始位置,不包终止位置
------------------
python
py   	#输出结果

上面print(lesson[:]) ,把字符串赋值给变量lesson存储,变量lesson后面加’ [ 起始位置:终止位置] ',这里面是要填入你要截取的字符串起始位置和终止位置,中间用 ‘:’分隔。如上图所示。
------下面请看根据步长来取字符串。
在这里插入图片描述
步长是什么呢?通俗点说 就是字符串间隔取值,操作也是很简单,请看示例:

lesson = 'python'
print(lesson[0:6:1]) #步长就是 变量lesson[0:6:1] 表示步长为1 。通常在截取字符串的时,如果不设定步长,默认就是1,例:lesson[0:6]
print(lesson[0:6:2])  # 表示步长: 2
---------------------
python
pto		#输出结果

过上面演示也许应该知道步长的用法了,python中可以直接通过切片来实现逆序:

lesson = 'python'
print(lesson[::-1])  # 步长设定为1,实现字符串的逆排序。
----------------------
python
nohtyp     #输出结果

快速取字符串的长度

lesson = 'python'
print(len(lesson)) #len()方法 括号中参数是字符串存储的变量
-------------------
6      #输出结果

内置方法

1.将字符串中的每一个元素按照指定分隔符进行拼接
# test = “你是风儿我是沙”
# print(test)
# # t = ’ ’
# v = “_”.join(test)
# print(v)

  1. 以xxx开头,以xx结尾
    #startswith,endswith
    name=‘alex_SB’
    print(name.endswith(‘SB’))
    print(name.startswith(‘alex’))
    # 输出结果为 True or false

4.#split
name=‘root❌0:0::/root:/bin/bash’
print(name.split(’:’)) #默认分隔符为空格
name=‘C:/a/b/c/d.txt’ #只想拿到顶级目录
print(name.split(’/’,1))

name=‘a|b|c’
print(name.rsplit(’|’,1)) #从右开始切分

5.将指定字符串替换为指定字符串
# test = “alexalexalex”
# v = test.replace(“ex”,‘bbb’)
# print(v)
# v = test.replace(“ex”,‘bbb’,2)
# print(v)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值