字符串操作

简介:

一、处理字符串


特殊符号

▎如何在字符串内使用特殊符号?

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'














本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1947923 ,如需转载请自行联系原作者
相关文章
|
2月前
|
C++
c++字符串操作
c++字符串操作
27 0
|
C++ 容器
C++ 字符串操作
文章目录 1.1 C++ 字符串操作 2.2字符数组的常用操作 2.3遍历字符数组的字符 3.标准库类型string 3.1 定义和初始化 3.2 string的操作 1)读写操作 2)使用`getline`读取一整行 3)string的方法操作 4)字符串和string相加 3.3处理string对象中的字符
|
开发者 索引 Python
字符串操作|学习笔记
快速学习字符串操作
45 0
字符串操作|学习笔记
|
安全 Shell C语言
C语言_10 字符、字符串操作
字符、字符串及一些函数
121 0
C语言_10 字符、字符串操作
|
存储 编译器
字符串操作函数详解
字符串操作函数详解
字符串操作函数详解
字符串处理方法
字符串处理方法
87 0
字符串处理方法
|
存储 Windows 容器
字符串操作的全面总结(1)
字符串操作的全面总结
142 0
字符串操作的全面总结(1)