Python的字符串处理方法

split()方法

描述

Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串

语法

split() 方法语法:

str.split(str="", num=string.count(str)).
参数

str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数。默认为 -1, 即分隔所有。

返回值

返回分割后的字符串列表。

实例

以下实例展示了 split() 函数的使用方法:

str = 'sunck**is**a**good**man'
print(str.split('*'))
>>>['sunck', '', 'is', '', 'a', '', 'good', '', 'man']

print(str.split('*',3))
>>>['sunck', '', 'is', '*a**good**man']

splitlines()方法

描述

Python splitlines() 按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

语法

splitlines()方法语法:

str.splitlines([keepends])
参数

keepends – 在输出结果里是否去掉换行符(’\r’, ‘\r\n’, \n’),默认为 False,不包含换行符,如果为 True,则保留换行符。

返回值

返回一个包含各行作为元素的列表。

实例

以下实例展示了splitlines()函数的使用方法:

str1 = '''sunck is a good man!
sunck is a good man!
sunck is a good man!
'''
print(str1.splitlines())
>>>['sunck is a good man!', 'sunck is a good man!', 'sunck is a good man!']
print(str1.splitlines(True))```
>>>['sunck is a good man!\n', 'sunck is a good man!\n', 'sunck is a good man!\n']

join方法

描述

Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

语法

join()方法语法:

str.join(sequence)
参数

sequence – 要连接的元素序列。

返回值

返回通过指定字符连接序列中元素后生成的新字符串。

实例

以下实例展示了join()的使用方法:

list2 = ['sunck', 'is', 'a', 'good', 'man']
str3 = "$".join(list2)
print('str3',str3)
>>>str3 sunck$is$a$good$man

replace()方法

描述

Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

语法

replace()方法语法:

str.replace(old, new[, max])
参数

old – 将被替换的子字符串。
new – 新字符串,用于替换old子字符串。
max – 可选字符串, 替换不超过 max 次

返回值

返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。

实例

以下实例展示了replace()函数的使用方法:

str4 = 'sunck is a good good good man!'
str5 = str4.replace('good','nice',2)
print("str5",str5)
>>>str5 sunck is a nice nice good man!

translate()方法

描述

translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。

语法

translate()方法语法:

str.translate(table)
bytes.translate(table[, delete])
bytearray.translate(table[, delete])

参数

table – 翻译表,翻译表是通过 maketrans() 方法转换而来。
deletechars – 字符串中要过滤的字符列表。

返回值

返回翻译后的字符串,若给出了 delete 参数,则将原来的bytes中的属于delete的字符删除,剩下的字符要按照table中给出的映射来进行映射 。

实例

以下实例展示了 translate() 函数的使用方法:

str6 = 'sunck is a good good good man!'
t = str6.maketrans('gd','12')
str7 = str6.translate(t)
print("str7",str7)
>>>str7 sunck is a 1oo2 1oo2 1oo2 man!

startswith()方法

描述

startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。

语法

startswith()方法语法:

str.startswith(substr, beg=0,end=len(string));
参数

str – 检测的字符串。
substr – 指定的子字符串。
strbeg – 可选参数用于设置字符串检测的起始位置。
strend – 可选参数用于设置字符串检测的结束位置。

返回值

如果检测到字符串则返回True,否则返回False。

实例

以下实例展示了startswith()函数的使用方法:

str7 = 'sunck is a good man'
print('判断str7是否以sun开头',str7.startswith('sun'))
>>>判断str7是否以sun开头 True
print('判断str7是否以sun开头',str7.startswith('sun',2,6))
>>>判断str7是否以sun开头 False

endswith()方法

描述

endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回 True,否则返回 False。可选参数 “start” 与 “end” 为检索字符串的开始与结束位置。

语法

endswith()方法语法:

str.endswith(suffix[, start[, end]])
参数

suffix – 该参数可以是一个字符串或者是一个元素。
start – 字符串中的开始位置。
end – 字符中结束位置。

返回值

如果字符串含有指定的后缀返回 True,否则返回 False。

实例

以下实例展示了endswith()方法的实例:

str8 = 'sunck is a good man'
print('判断str8是否以sun开头',str8.endswith('man'))
>>>判断str8是否以sun开头 True
print('判断str8是否以sun开头',str8.endswith('man',2,6))
判断str8是否以sun开头 False

encode()与decode()方法

描述

encode() 方法以指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。
decode() 方法以指定的编码格式解码 bytes 对象。默认编码为 ‘utf-8’。

语法

encode()方法语法:

str.encode(encoding='UTF-8',errors='strict')

decode()方法语法:

bytes.decode(encoding="utf-8", errors="strict")
参数

encoding – 要使用的编码,如: UTF-8。
errors – 设置不同错误的处理方案。默认为 ‘strict’,意为编码错误引起一个UnicodeError。 其他可能得值有 ‘ignore’, ‘replace’, ‘xmlcharrefreplace’, ‘backslashreplace’ 以及通过 codecs.register_error() 注册的任何值。

encoding – 要使用的编码,如"UTF-8"。
errors – 设置不同错误的处理方案。默认为 ‘strict’,意为编码错误引起一个UnicodeError。 其他可能得值有 ‘ignore’, ‘replace’, ‘xmlcharrefreplace’, ‘backslashreplace’ 以及通过 codecs.register_error() 注册的任何值。

返回值

encode(),该方法返回编码后的字符串,它是一个 bytes 对象。

decode(),该方法返回解码后的字符串。

实例

以下实例展示了encode()方法的实例:

str9 = '测试encode'
str10 = str9.encode('utf-8')
print('str10',str10)
str11 = str10.decode('utf-8','strict')
print('str11',str11)

isalpha()方法

描述

Python isalpha() 方法检测字符串是否只由字母或文字组成。

语法

isalpha()方法语法:

str.isalpha()
返回值

如果字符串至少有一个字符并且所有字符都是字母或文字则返回 True,否则返回 False。

实例

以下实例展示了isalpha()方法的实例:

str = "ABCabc汉字"
print('isalpha',str.isalpha())
>>>isalpha True

isalnum()方法

描述

isalnum() 方法检测字符串是否由字母和数字组成。

语法

isalnum()方法语法:

str.isalnum()
返回值

如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

实例

以下实例展示了isalnum()方法的实例:

str = "ABCabc1223"
print('isalnum',str.isalnum())
>>>isalnum True

isupper()方法

描述

isupper() 方法检测字符串中所有的字母是否都为大写。

语法

isupper()方法语法:

str.isupper()
返回值

如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

实例

以下实例展示了isupper()方法的实例:

str = "ABC1223"
print('isupper',str.isupper())
>>>isupper True

islower()方法

描述

islower() 方法检测字符串是否由小写字母组成。

语法

islower()方法语法:

str.islower()
返回值

如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

实例

以下实例展示了islower()方法的实例:

str = "abc1223"
print('islower',str.islower())
>>>islower True

istitle()方法

描述

istitle() 方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。

语法

istitle()方法语法:

str.istitle()
返回值

如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False.

实例

以下实例展示了istitle()方法的实例:

str = 'Sunck Is A Good Man'
str1 = 'Sunck Is A good man'
print('str %s,str1 %s'%(str.istitle(),str1.istitle()))
>>>str True,str1 False

isdigit(),isnumeric(),isdecimal()方法

描述
  1. Python isdigit() 方法检测字符串是否只由数字组成。
  2. isdecimal() 方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。
    注意:定义一个十进制字符串,只需要在字符串前添加 ‘u’ 前缀即可。
  3. isnumeric() 方法检测字符串是否只由数字组成,数字可以是: Unicode 数字,全角数字(双字节),罗马数字,汉字数字。
    指数类似 ² 与分数类似 ½ 也属于数字。
语法
  1. isdigit()方法语法:
str.isdigit()
  1. isdecimal()方法语法:
str.isdecimal()
  1. isnumeric()方法语法:
str.isnumeric()
返回值
  1. isdigit()方法返回值:
    如果字符串只包含数字则返回 True 否则返回 False。
  2. isdecimal()方法返回值:
    如果字符串是否只包含十进制字符返回True,否则返回False。
  3. isnumeric()方法返回值:
    如果字符串中只包含数字字符,则返回 True,否则返回 False
实例

以下实例展示了isdigit()方法的实例:

str = '123'
print('isdigit',str.isdigit())
>>>isdigit False
三者的区别

isdigit、isdecimal 和 isnumeric 区别

  1. isdigit()
    True: Unicode数字,byte数字(单字节),全角数字(双字节)
    False: 汉字数字,罗马数字,小数
    Error: 无

  2. isdecimal()
    True: Unicode数字,,全角数字(双字节)
    False: 罗马数字,汉字数字,小数
    Error: byte数字(单字节)

  3. isnumeric()
    True: Unicode 数字,全角数字(双字节),汉字数字
    False: 小数,罗马数字
    Error: byte数字(单字节)

num = "1"  #unicode
num.isdigit()   # True
num.isdecimal() # True
num.isnumeric() # True

num = "1" # 全角
num.isdigit()   # True
num.isdecimal() # True
num.isnumeric() # True

num = b"1" # byte
num.isdigit()   # True
num.isdecimal() # AttributeError 'bytes' object has no attribute 'isdecimal'
num.isnumeric() # AttributeError 'bytes' object has no attribute 'isnumeric'

num = "IV" # 罗马数字
num.isdigit()   # False
num.isdecimal() # False
num.isnumeric() # False

num = "四" # 汉字
num.isdigit()   # False
num.isdecimal() # False
num.isnumeric() # True

isspace()方法

描述

isspace() 方法检测字符串是否只由空白字符组成。

语法

isspace() 方法语法:

str.isspace()
返回值

如果字符串中只包含空格,则返回 True,否则返回 False.

实例

以下实例展示了isspace()方法的实例:

str = '     '
str1 = 'Sunck Is A good man'
print('str %s,str1 %s'%(str.isspace(),str1.isspace()))
>>>str True,str1 False
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Python字符串处理是指对字符串进行各种操作和处理的技术。Python提供了丰富的字符串处理方法和函数,可以方便地进行字符串的拼接、切片、查找、替换等操作。 以下是一些常用的Python字符串处理方法和函数: 1. 字符串拼接:使用"+"运算符可以将两个字符串拼接在一起,例如:`str1 + str2`。 2. 字符串切片:可以通过索引来获取字符串中的部分内容。例如,`str[1:5]`表示获取从索引1到索引4的子字符串。 3. 字符串长度:使用`len()`函数可以获取字符串的长度,例如:`len(str)`。 4. 字符串查找:可以使用`find()`、`index()`等方法来查找字符串中某个子串的位置。例如,`str.find(sub_str)`返回子串在字符串中第一次出现的位置。 5. 字符串替换:使用`replace()`方法可以将字符串中的某个子串替换为另一个子串。例如,`str.replace(old_str, new_str)`将字符串中的old_str替换为new_str。 6. 字符串分割:使用`split()`方法可以将字符串按照指定的分隔符进行分割,返回一个列表。例如,`str.split(separator)`将字符串按照separator进行分割。 7. 字符串大小写转换:使用`lower()`、`upper()`等方法可以将字符串转换为小写或大写形式。例如,`str.lower()`将字符串转换为小写形。 8. 字符串格式化:使用`format()`方法可以将变量的值插入到字符串中的占位符位置。例如,`"Hello, {}!".format(name)`将name的值插入到字符串中的占位符位置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西门一刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值