Python入门(5)——操作字符串的一些方法

操作字符串的一些方法

修改字符串大小写

title():把字符串中每个单词首字母改为大写。
upper():把字符串中所有字符改为大写。
lower():把字符串中所有字符改为小写。

>>> 'the introduction to python'.title()
'The Introduction To Python'
>>> 'abc'.upper()
'ABC'
>>> 'ABC'.lower()
'abc'

在字符串中使用变量

字符串变量 = f"{变量1}{变量2}"将变量插入字符串,这种字符串叫做f字符串。当然,也可以使用format()函数将变量插入字符串,格式为字符串变量 = "{0}{1}.format(变量1,变量2)"

>>> name = 'Mary'
>>> age = 18
>>> information1 = f"Hello {name}, you are {age} years old"
>>> print(information1)
Hello Mary, you are 18 years old
>>> information2 = "Hello {0}, you are {1} years old".format(name, age)
>>> print(information2)
Hello Mary, you are 18 years old

转义字符

转义字符描述
(行尾的)\续行符
\\反斜杠符号
单引号
"双引号
\a响铃
\b退格
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数,yy代表的字符。如:\o12代表换行
\xyy十六进制数,yy代表的字符。如:\x0a代表换行
>>> x = 'abc\tabc'
>>> print(x)
abc	abc
>>> x = 'abc\
123\
789'
>>> x
'abc123789'

删除空白

lstrip():删除字符串左边的空白。
rstrip():删除字符串右边的空白。
strip():删除字符串两边的空白。

>>> y = '   abc abc   '
>>> print(y)
   abc abc   
>>> y.lstrip()  # 删除左空白
'abc abc   '
>>> y.rstrip()  # 删除右空白
'   abc abc'
>>> y.strip()   # 删除两边的空白
'abc abc'

当然,我们也可以在strip()方法中添加参数,删除字符串左右两边相应的字符。例如,删除两边的*号。

>>> x = '****abc**abc***'
>>> print(x)
****abc**abc***
>>> x.lstrip('*')
'abc**abc***'
>>> x.rstrip('*')
'****abc**abc'
>>> x.strip('*')
'abc**abc'

获取字符串长度

可以使用len(字符串/字符串变量名)获取字符串长度。

>>> len('abc')
3
>>> x = 'abcd'
>>> len(x)
4

字符串连接

可以使用+号或者两个字符串写一起,直接对多个字符串进行连接。

>>> str = 'abc' + '123'
>>> print(str)
abc123
>>> str1 = 'asd''asd'
>>> print(str1)
asdasd

字符串复制

格式为待复制的字符串 * 复制次数

>>> a = 'abc' * 4
>>> print(a)
abcabcabcabc

打印原始字符串

在字符串开始的引号前加上r。

>>> print(r'abc\nabc')
abc\nabc

多行字符串

多行字符串使用'''三重单引号或者"""三重双引号包围,被包围的所有引号、制表符或换行符都被认为是字符串的一部分。

>>> print('''Dear Mary,

Happy birthday.
Sincerely,
Caizi''')
Dear Mary,

Happy birthday.
Sincerely,
Caizi

获取字符串中某个位置上的元素

使用索引,可以获取到字符串中某个位置上的元素。索引范围为0~字符串长度 - 1-1~-字符串长度

>>> s1 = 'Hello World!'
>>> print(s1[4])
o
>>> print(s1[-2])
d

字符串切片

字符串变量名[起始值:终止值]:对字符串进行切片处理,把从字符串索引值为起始值到终止值-1的字符串切割出来。
字符串变量名[起始值:终止值:步长]:对字符串进行切片处理,把从字符串索引值为起始值到终止值-1每隔步长数切一个字符组成字符串。
字符串变量名[:终止值]:对字符串进行切片处理,把从字符串索引值为0到终止值-1的字符串切割出来。
字符串变量名[起始值:]:对字符串进行切片处理,把从字符串索引值为起始值到字符串尾的字符串切割出来。

>>> s2 = 'abcdefghijkl'
>>> s2[3:5]
'de'
>>> s2[4:]
'efghijkl'
>>> s2[:5]
'abcde'
>>> s2[3:9:2]
'dfh'

判断字符串是否在另一个字符串中

使用in或者not in操作符。

>>> 'Hello' in 'Hello World'
True
>>> 'Hello' in "Hi, I'm Caizi"
False
>>> 'Hello' not in "Hi, I'm Caizi"
True

有用的字符串方法

isupper():如果字符串中所有字符都为大写,则返回True。
islower():如果字符串中所有字符是为小写,则返回True。

>>> 'ABD'.isupper()
True
>>> 'abc'.islower()
True

isalpha():如果字符串只包含字母,并且非空,则返回True。

>>> 'abcAB'.isalpha()
True
>>> 'abcAB123'.isalpha()
False

isalnum():如果字符串只包含字母和数字,并且非空,则返回True。

>>> 'abcABC123'.isalnum()
True

isdecimal():如果字符串只包含数字字符,并且非空,则返回True。

>>> '123'.isdecimal()
True
>>> 'abc123'.isdecimal()
False

isspace():如果字符串只包含空格、制表符和换行符,并且非空,则返回True。

>>> ' '.isspace()
True
>>> ' as'.isspace()
False

istitle():如果字符串只包含以大写字母开头、后面都是小写字母的单词、数字或空格,则返回True。

>>> 'The Python'.istitle()
True
>>> 'THE Python'.istitle()
False

startswith():如果字符串以所给的参数开始,则返回True。
endswith():如果字符串以所给的参数结束,则返回True。

>>> 'Hello World'.startswith('Hello')
True
>>> 'Hello World'.endswith('ld')
True
>>> 'Hello World'.endswith('a')
False

字符串.join(列表):提取列表的每个值并以给定字符串隔开组成一个新字符串。

>>> '-'.join(['1','2','3'])
'1-2-3'

字符串.split(字符串参数):以给定的字符串参数对字符串进行分割组成一个列表。

>>> 'I*am*Caizi.'.split('*')
['I', 'am', 'Caizi.']

字符串.partition(分隔符):将字符串分割成字符串出现的第一个分隔符前后的文本,结果返回三个子字符串的元组,分别是分隔符,分隔符之前的字符串,分隔符之后的字符串。

>>> 'abcdefghijkl'.partition('def')
('abc', 'def', 'ghijkl')
>>> 'abc'.partition('abc')
('', 'abc', '')

rjust(长度, 填充字符):返回调用它们的字符串的填充版本,通过插入给定填充字符,右对齐文本。
ljust(长度, 填充字符):返回调用它们的字符串的填充版本,通过插入给定填充字符,左对齐文本。
center(长度, 填充字符):返回调用它们的字符串的填充版本,通过插入给定填充字符,中间对齐文本。

>>> 'abc'.rjust(10, '*')
'*******abc'
>>> 'abc'.ljust(10, '*')
'abc*******'
>>> 'abc'.center(10, '*')
'***abc****'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值