python字符串常用方法

python字符串常用方法介绍

python字符串拼接

在 Python 中拼接(连接)字符串很简单,可以直接将两个字符串紧挨着写在一起,具体格式为:strname = "str1" "str2"

strname 表示拼接以后的字符串变量名,str1 和 str2 是要拼接的字符串内容。使用这种写法,Python 会自动将两个字符串拼接在一起。

以连续书写的形式拼接字符串:

str1 = "Python教程" "catroom"
print(str1)
str2 = "Java" "Python" "C++" "PHP"
print(str2)
运行结果:
Python教程catroom
JavaPythonC++PHP

需要注意的是,这种写法只能拼接字符串常量。

如果需要使用变量,就得借助+运算符来拼接,具体格式为:strname = str1 + str2 , 当然,+运算符也能拼接字符串常量。
使用+运算符拼接字符串:

name = "python教程"
url = "http://www.catroom.com.cn"
info = name + "的网址是:" + url
print(info)

运行结果:
python教程的网址是:http://www.catroom.com.cn

对象转化拼接,可以借助 str() 和 repr() 函数将数字转换为字符串,它们的使用格式为:

str(obj)
repr(obj)

obj 表示要转换的对象,它可以是数字、列表、元组、字典等多种类型的数据。

name = "catroom"
num = 7
info = name + "字母个数是" + str(num)
print(info)

catroom字母个数是7

join()方法拼接

使用 join() 方法合并字符串时,它会将列表(或元组)中多个字符串采用固定的分隔符连接在一起。例如,字符串“www.catroom.com.cn”就可以看做是通过分隔符“.”将 ['www','catroom','com','cn'] 列表合并为一个字符串的结果。

join() 方法的语法格式如下:newstr = str.join(iterable)

此方法中各参数的含义如下:
newstr:表示合并后生成的新字符串;
str:用于指定合并时的分隔符;
iterable:做合并操作的源字符串数据,允许以列表、元组等形式提供。

实例:

#将列表中的字符串合并成一个字符串。
>>> list = ['www','catroom','com','cn']
>>> '.'.join(list)
'www.catroom.com.cn'


#将元组中的字符串合并成一个字符串。
>>> dir = '','usr','bin','env'
>>> type(dir)
<class 'tuple'>
>>> '/'.join(dir)
'/usr/bin/env'


python字符串截取

单字符获取

在方括号[ ]中使用索引即可访问对应的字符,具体的语法格式为:strname[index]

strname 表示字符串名字,index 表示索引值。

>>>url = 'http://www.catroom.com.cn'
#获取索引为10的字符
>>>print(url[10])
.
#获取索引为 6 的字符
>>>print(url[-6])
c

多个字符截取

使用[ ]除了可以获取单个字符外,还可以指定一个范围来获取多个字符,也就是一个子串或者片段,具体格式为: strname[start : end : step]

对各个部分的说明:
strname:要截取的字符串;
start:表示要截取的第一个字符所在的索引(截取时包含该字符)。如果不指定,默认为 0,也就是从字符串的开头截取;
end:表示要截取的最后一个字符所在的索引(截取时不包含该字符)。如果不指定,默认为字符串的长度;
step:指的是从 start 索引处的字符开始,每 step 个距离获取一个字符,直至 end 索引出的字符。step 默认值为 1,当省略该值时,最后一个冒号也可以省略。

split()函数截取

split() 方法可以实现将一个字符串按照指定的分隔符切分成多个子串,这些子串会被保存到列表中(不包含分隔符),作为方法的返回值反馈回来。该方法的基本语法格式如下: str.split(sep,maxsplit)

此方法中各部分参数的含义分别是:
str:表示要进行分割的字符串;
sep:用于指定分隔符,可以包含多个字符。此参数默认为 None,表示所有空字符,包括空格、换行符“\n”、制表符“\t”等。
maxsplit:可选参数,用于指定分割的次数,最后列表中子串的个数最多为 maxsplit+1。如果不指定或者指定为 -1,则表示分割次数没有限制。
>>> str = "it懒猫社区 >>> www.catroom.com.cn"
>>> str
'it懒猫社区 >>> www.catroom.com.cn'
>>> list1 = str.split() #采用默认分隔符进行分割
>>> list1
['it懒猫社区', '>>>', 'www.catroom.com.cn']
>>> list2 = str.split('>>>') #采用多个字符进行分割
>>> list2
['it懒猫社区', 'www.catroom.com.cn']
>>> list3 = str.split('.') #采用 . 号进行分割
>>> list3
['it懒猫社区 >>> www', 'catroom', 'com','cn']

>>> list4 = str.split(' ',4) #采用空格进行分割,并规定最多只能分割成 4 个子串
>>> list4
['it懒猫社区', '>>>', 'www.catroom.com.cn']

python字符串大小写

lower()方法

lower() 方法用于将字符串中的所有大写字母转换为小写字母,转换完成后,该方法会返回新得到的字符串。如果字符串中原本就都是小写字母,则该方法会返回原字符串。

lower() 方法的语法格式如下: str.lower() 其中,str 表示要进行转换的字符串。

>>> str = "I LIKE PYTHON"
>>> str.lower()
'i like python'

upper()方法

upper() 的功能和 lower() 方法恰好相反,它用于将字符串中的所有小写字母转换为大写字母,和以上两种方法的返回方式相同,即如果转换成功,则返回新字符串;反之,则返回原字符串。

upper() 方法的语法格式如下: str.upper() ,其中,str 表示要进行转换的字符串。

>>> str = "i like python"
>>> str.upper()
'I LIKE PYTHON'

python字符串删除左右空格或特殊字符

字符串变量提供了 3 种方法来删除字符串中多余的空格和特殊字符,它们分别是:

  • strip():删除字符串前后(左右两侧)的空格或特殊字符。
  • lstrip():删除字符串前面(左边)的空格或特殊字符。
  • rstrip():删除字符串后面(右边)的空格或特殊字符。

实例:

>>> str = "  www.catroom.com.cn \t\n\r"
>>> str.strip()
'www.catroom.com.cn'
>>> str.strip(" ,\r")
'www.catroom.com.cn \t\n'

>>> str = "  www.catroom.com.cn \t\n\r"
>>> str.lstrip()
'www.catroom.com.cn \t\n\r'

>>> str = "  www.catroom.com.cn \t\n\r"
>>> str.rstrip()
'  www.catroom.com.cn'

python字符编码

在 Python 中,有 2 种常用的字符串类型,分别为 str 和 bytes 类型,其中 str 用来表示 Unicode 字符,bytes 用来表示二进制数据。str 类型和 bytes 类型之间就需要使用 encode() 和 decode() 方法进行转换。

encode() 方法的语法格式如下:

str.encode([encoding="utf-8"][,errors="strict"])

注意,格式中用 [] 括起来的参数为可选参数,也就是说,在使用此方法时,可以使用 [] 中的参数,也可以不使用。

和 encode() 方法正好相反,decode() 方法用于将 bytes 类型的二进制数据转换为 str 类型,这个过程也称为“解码”。

decode() 方法的语法格式如下:

bytes.decode([encoding="utf-8"][,errors="strict"])