一、处理字符串
特殊符号
▎如何在字符串内使用特殊符号?
1
2
3
4
5
6
7
8
9
10
11
12
13
|
>>> text1
=
'His cat'
s name
is
Tom.'
File
"<stdin>"
, line
1
text1
=
'His cat'
s name
is
Tom.'
^
SyntaxError: invalid syntax
>>> text1
=
'His cat\'s name is Tom.'
##“\”转义字符
>>> text2
=
"His cat's name is Tom."
##可以使用双引号开始和结束
>>>
print
(r
'His cat\'s name is Tom.'
)
##原始字符串
His cat\'s name
is
Tom.
>>> text1
"His cat's name is Tom."
>>> text2
"His cat's name is Tom."
|
▎转义字符:
\' 单引号
\" 双引号
\t 制表符
\n 换行符
\\ 倒斜杠
1
2
3
|
>>>
print
(
"\tHis cat's name is \nTom."
)
His cat's name
is
Tom.
|
三重引号
多行字符串的起止是3个单引号或3个双引号。“三重引号”之间所有引号、制表符或换行,都被认为是字符串的一部分。python的代码块缩进规则不适用于多行字符串。
多行字符串还常常用作多行注释。
1
2
3
4
5
6
|
>>>
print
(
'''Hello,
... Can you find my World.
... via Tom.'''
)
Hello,
Can you find my World.
via Tom.
|
字符串切片
字符串像列表一样,使用下标和切片。
字符串切片并没有修改原来的字符串。
1
2
3
4
5
6
|
>>> text1
=
'His cat\'s name is Tom.'
>>> text1[:
10
]
"His cat's "
>>> text2
=
"His cat's name is Tom."
>>> text2[:
10
]
"His cat's "
|
in和not in
测试第一个字符串(精确匹配)是否在第二个字符串中。
1
2
3
4
5
|
>>> text1
=
'His cat\'s name is Tom.'
>>>
"cat"
in
text1
True
>>>
"tom"
not
in
text1
True
|
二、字符串方法
大小写
upper()和lower()字符串方法返回一个新字符串,其中原字符串的所有字母都被相应地转换为大写或小写。字符串中非字母字符保持不变。
1
2
3
4
5
6
7
|
>>> text1
=
'His cat\'s name is Tom.'
>>> text1.upper()
"HIS CAT'S NAME IS TOM."
>>> text1.lower()
"his cat's name is tom."
>>> text1
##这些方法没有改变字符串本身,而是返回一个新字符串。
"His cat's name is Tom."
|
isupper()和islower()方法用来判断字符串内所有字母是否都是大写或小写。
1
2
3
4
5
6
7
8
9
10
11
12
|
>>>
'Hello'
.islower()
False
>>>
'Hello'
.isupper()
False
>>>
'Hello'
.upper().isupper()
True
>>>
'Hello'
.lower().islower()
True
>>>
'Hello123'
.lower().islower()
True
>>>
'Hello123'
.upper().isupper()
True
|
▎其他常用的判断字符串方法:
isalpha()返回True,如果字符串只包含字母,并且非空;
isalnum()返回True,如果字符串只包含字母和数字,并且非空;
isdecimal()返回True,如果字符串只包含数字,并且非空;
isspace()返回True,如果字符串只包含空格、制表符和换行,并且非空;
istitle()返回True,如果字符串只包含首字母大写、后面都是小写字母的单词;
开始和结束
startswith()和endswith()方法返回True,如果它们所调用的字符串以该方法传入的字符串开始或结束。否则,方法返回False。
1
2
3
4
5
6
7
8
9
|
>>> text1
=
'His cat\'s name is Tom.'
>>> text1.startswith(
'His cat'
)
True
>>> text1.startswith(
'his cat'
)
False
>>> text1.endswith(
'om.'
)
True
>>> text1.endswith(
'.'
)
True
|
插入与分割
join()方法在一个字符串上调用,参数是一个字符串列表,返回一个字符串。返回的字符串由传入的列表中每个字符串连接而成。
调用join()方法的字符串,被插入到列表参数中每个字符串的中间。
join()方法是针对一个字符串而调用的,并且传入一个列表值。
1
2
3
4
|
>>>
'#'
.join([
'Tom'
,
'Jack'
,
'Mike'
,
'Alice'
])
'Tom#Jack#Mike#Alice'
>>>
'\n'
.join([
'Tom'
,
'Jack'
,
'Mike'
,
'Alice'
])
'Tom\nJack\nMike\nAlice'
|
split()方法针对一个字符串调用,返回一个字符串列表。
默认按照各种空白字符分割,如空格、制表符或换行符。
一个常见的split()用法,是按照换行符分割多行字符串。
1
2
3
4
5
6
|
>>> text
'Tom\nJack\nMike\nAlice'
>>> text.split()
[
'Tom'
,
'Jack'
,
'Mike'
,
'Alice'
]
>>> text.split(
'i'
)
[
'Tom\nJack\nM'
,
'ke\nAl'
,
'ce'
]
|
对齐文本
rjust()和ljust()字符串方法返回调用它们的字符串的填充版本,通过插入空格来对齐文本。
这两个方法的第一个参数是一个整数长度,用于对齐字符串。第二个可选参数是指定一个填充字符,取代空格字符。
center()字符串方法与rjust()和ljust()类似,但它让文本居中。
利用这三个方法确保字符串整齐对齐,即使不清楚有多少字符。
1
2
3
4
5
6
7
8
9
10
|
>>>
'Hello'
.rjust(
10
)
' Hello'
>>>
'Hello'
.ljust(
20
)
'Hello '
>>>
'Hello'
.center(
20
,
'-'
)
'-------Hello--------'
>>>
'Hello'
.rjust(
10
).ljust(
20
)
' Hello '
>>>
'Hello'
.rjust(
10
).ljust(
20
,
'-'
)
' Hello----------'
|
删除空白字符
strip()字符串方法将返回一个新的字符串,它的开头或末尾都没有空白字符。
lstrip()和rstrip()方法将相应删除左边或右边的空白字符。
有一个可选参数,指定两边的哪些字符应该删除。
1
2
3
4
5
6
7
8
9
|
>>> text
=
' Hello World '
>>> text.strip()
'Hello World'
>>> text.lstrip()
'Hello World '
>>> text.rstrip()
' Hello World'
>>> text.strip(
'Held '
)
'o Wor'
|
拷贝粘贴字符串
pyperclip模块有copy()和paste()函数,可以向计算机的剪贴板发送文本,或从它接收文本。
▎pyperclip模块不是python自带的,需要安装。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[root@juispan src]
# wget https://bootstrap.pypa.io/get-pip.py
......
2017-07-15 03:11:16 (24.4 KB
/s
) - 已保存 “get-pip.py” [1595408
/1595408
])
[root@juispan src]
# python get-pip.py
......
Successfully installed pip-9.0.1 setuptools-36.2.0 wheel-0.29.0
[root@juispan src]
# pip -V
pip 9.0.1 from
/usr/lib/python2
.7
/site-packages
(python 2.7)
[root@juispan src]
# pip install pyperclip
Collecting pyperclip
Downloading pyperclip-1.5.27.zip
Building wheels
for
collected packages: pyperclip
Running setup.py bdist_wheel
for
pyperclip ...
done
Stored
in
directory:
/root/
.cache
/pip/wheels/0b/fe/d7/1ab1ec7a91dc707d04b872214f6ce617f1b04a027de12fd4fe
Successfully built pyperclip
Installing collected packages: pyperclip
Successfully installed pyperclip-1.5.27
|
1
2
3
4
|
>>>
import
pyperclip
>>> pyperclip.copy(
'Hello World'
)
>>> pyperclip.paste()
'Hello World'
|