0
点赞
收藏
分享

微信扫一扫

Python入门(4)——最全的字符串操作

修改字符串大小写


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



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


使用索引,可以获取到字符串中某个位置上的元素。索引范围为 字符串长度 - 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****'



举报

相关推荐

0 条评论