[Python 3系列]字符串操作

一、处理字符串

特殊符号

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

>>> 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         换行符

\\          倒斜杠

>>> print("\tHis cat‘s name is \nTom.")
        His cat‘s name is
Tom.

三重引号

多行字符串的起止是3个单引号或3个双引号。“三重引号”之间所有引号、制表符或换行,都被认为是字符串的一部分。python的代码块缩进规则不适用于多行字符串。

多行字符串还常常用作多行注释。

>>> print(‘‘‘Hello,
... Can you find my World.
... via Tom.‘‘‘)
Hello,
Can you find my World.
via Tom.

字符串切片

字符串像列表一样,使用下标和切片。

字符串切片并没有修改原来的字符串。

>>> 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

测试第一个字符串(精确匹配)是否在第二个字符串中。

>>> text1=‘His cat\‘s name is Tom.‘
>>> "cat" in text1
True
>>> "tom" not in text1
True

二、字符串方法

大小写

upper()和lower()字符串方法返回一个新字符串,其中原字符串的所有字母都被相应地转换为大写或小写。字符串中非字母字符保持不变。

>>> 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()方法用来判断字符串内所有字母是否都是大写或小写。

>>> ‘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。

>>> 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()方法是针对一个字符串而调用的,并且传入一个列表值。

>>> ‘#‘.join([‘Tom‘,‘Jack‘,‘Mike‘,‘Alice‘])
‘Tom#Jack#Mike#Alice‘
>>> ‘\n‘.join([‘Tom‘,‘Jack‘,‘Mike‘,‘Alice‘])
‘Tom\nJack\nMike\nAlice‘

split()方法针对一个字符串调用,返回一个字符串列表。

默认按照各种空白字符分割,如空格、制表符或换行符。

一个常见的split()用法,是按照换行符分割多行字符串。

>>> 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()类似,但它让文本居中。

利用这三个方法确保字符串整齐对齐,即使不清楚有多少字符。

>>> ‘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()方法将相应删除左边或右边的空白字符。

有一个可选参数,指定两边的哪些字符应该删除。

>>> 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自带的,需要安装。

[[email protected] src]# wget https://bootstrap.pypa.io/get-pip.py
......
2017-07-15 03:11:16 (24.4 KB/s) - 已保存 “get-pip.py” [1595408/1595408])

[[email protected] src]# python get-pip.py
......
Successfully installed pip-9.0.1 setuptools-36.2.0 wheel-0.29.0
[[email protected] src]# pip -V
pip 9.0.1 from /usr/lib/python2.7/site-packages (python 2.7)
[[email protected] 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
>>> import pyperclip
>>> pyperclip.copy(‘Hello World‘)
>>> pyperclip.paste()
‘Hello World‘
时间: 2024-08-11 01:34:55

[Python 3系列]字符串操作的相关文章

python基础10 字符串操作,字典操作,集合操作

本节内容: 字符串操作 字典操作 集合操作 字符串操作 概述 字符串是以''或""括起来的任意文本,比如'abc',"xyz"等等.请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符. 如果字符串本身包含'怎么办?比如我们要表示字符串 I'm OK ,这时,可以用" "括起来表示: "I'm OK" 类似的,如果字符串包含",我们就可以用'

[Python Study Notes]字符串操作

字符串操作 a.字符串格式化输出 1 name = "liu" 2 print "i am %s " % name 3     4 #输出: i am liu   6 PS: 字符串是 %s;整数 %d;浮点数%f b.查找字符串(find) 1 str.find(str, start=0, end=len(mystr)) # 检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1 1 >>> str = 'xinge 好帅'

初识python: 常用字符串操作

直接上代码示例: #!/user/bin env python # author:Simple-Sir # time:20180914 # 字符串常用操作 name = 'lzh lyh' print('capitalize返回值:',name.capitalize()) # 首字母大写 print('count返回值:',name.count('l')) #指定字母数量 print('center返回值:',name.center(50,'-')) #共打印50个字符,不够的用"-"

Python基础之字符串操作,格式化。

Python字符串现在感觉在日常的使用中不多,但仔细看了书以后一些小技巧还是很方便的,我这里简单的记录下. 插入一个超搞逼格的: .format_map(其实这个是字符串的方法.....) In [83]: info = {"name": "sidian", "age": 18} In [84]: "my name is {name},age is {age}".format_map(info) Out[84]: 'my na

python中的字符串操作

python中没有单独的字符串类型,一个字符串就是长度为1的字符串.字符串可以用(slice)几号来指定字串,片段即是用冒号隔开的两个下标: >>>word='Help'+'A' >>>word 'HelpA' >>>word[0:2] 片段的缺省值:第一下标缺省为零,第二下标省略时为字符串的长度. 下标允许为负,这时从右向左数. >>>word[-1] 'A' >>>word[-2:0] 'pA' >>

python基础之字符串操作

下面显示代码在ipython3中实现 s='i like python' #首字母大写 capitalize() 1 In [3]: s='i like python' 2 3 In [4]: s.capitalize() 4 Out[4]: 'I like python' #全部转换大写,全部转换小写 upper()  lower() In [6]: s.upper() Out[6]: 'I LIKE PYTHON' 1 In [7]: s.lower() 2 Out[7]: 'i like

python 数据类型之字符串操作

# s1 = 'hello' # s2 = 'world' # # 可以使用'+'将字符串拼接在一起 # s3 = s1 + s2 # print(s3)#helloworld # '*'可以重复前面的字符串若干次 # s4 = 'abc' * 3 # print(s4)#连续打印abc三次不换行abcabcabc # len函数统计字符串长度 # print(len(s1))#5 # # s = 'abcdefg' # 从开头进行提取,下标从0开始 # print(s[0])#a # # 从末

python学习:字符串操作

1:双引号转义 <span style="font-size:18px;"><strong>print "he\"llo"</strong></span> 只需要在双引号前面加一个反斜杠. 输出结果:he"llo 2:字符串的拼接 (1)可以用+号 <span style="font-size:18px;"><strong>print "hell

LeetCode系列字符串操作(一)ZigZag输出,寻找最大不重复字串长度。

ZigZag Conversion The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) P A H N A P L S I I G Y I R And then read line by line