【python基础】python中常用字符串函数详解

建议使用find,因为如果没有找到匹配的字符串,index方法会报异常。

方法名称功能find(str, beg=0, end=len(string))查找子串str第一次出现的位置,如果找到则返回相应的索引,否则返回-1rfind(str, beg=0,end=len(string))类似于 find()函数,不过是从右边开始查找index(str, beg=0, end=len(string))类似于find,只不过如果没找到会报异常。rindex(str, beg=0 end=len(string))类似于rfind,如果没有匹配的字符串会报异常

代码举例

str1 = "my name is qlee,what your name?"
str2 = "name"

print(str1.find(str2))
print(str1.find(str2,5))
print(str1.find(str2,35))

输出:

3
26
-1

方法名称功能upper将字符串中所有元素都转为大写lower将字符串中所有元素都转为小写swapcase交换大小写。大写转为小写,小写转为大写capitalize第一个大写,其余小写title每个单词的第一次字符大写,其余均为小写

代码举例:

txt = "my name is Qlee"
print(txt.upper())
print(txt.lower())
print(txt.swapcase())
print(txt.capitalize())
print(txt.title())

输出:

方法名称功能center(width, fillchar)返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。ljust(width[, fillchar])返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。rjust(width,[, fillchar])返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串zfill (width)返回长度为 width 的字符串,原字符串右对齐,前面填充0

代码举例:

str = "hello world!"
print (str.center(30, '*'))
print (str.ljust(30, '*'))
print (str.rjust(30, '*'))
print (str.zfill(30))

输出:

*********hello world!*********
hello world!******************
******************hello world!

000000000000000000hello world!

方法名称功能split(seq=””, num=string.count(str))以 seq (默认空格)为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串(只需num个seq分隔符)。

rsplit与split类似,不过是从右边开始分割splitlines按照行进行分割,得到新的列表partition(str)找到字符串中第一个str,并以str为界,将字符串分割为3部分,

rpartition(str)与partition类似,只不过是反向找

代码举例:

str = "my name is qlee, what is your name"
print(str.split())
print(str.split('i',1))
print(str.split('b'))
print(str.partition("name"))
print(str.rpartition("name"))

str = """my name is qlee
      what is your name"""
print(str.splitlines())

输出:

['my', 'name', 'is', 'qlee,', 'what', 'is', 'your', 'name']
['my name ', 's qlee, what is your name']
['my name is qlee, what is your name']
('my ', 'name', ' is qlee, what is your name')
('my name is qlee, what is your ', 'name', '')
['my name is qlee', '      what is your name']

方法名称功能join(seq)以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)

replace(old, new [, max])把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过

代码举例:

print("----------join-----------")
seq1 = ("h", "e", "l", "l", "o")
seq2 = ["h", "e", "l", "l", "o"]
seq3 = "hello"
print ("".join(seq1))
print (" ".join(seq1))
print (",".join(seq1))

print("----------replace-----------")
str1 = "my name is qlee"
print (str1.replace("qlee", "lq"))

输出:

my name is lq

方法名称功能isidentifier判断字符串是不是合法标识符(字符、数字、下划线)isspace判断字符是否

(回车、换行和水平制表符)isalpha判断字符串是否全部由字母组成isdecimal判断字符是否全部由十进制的数字组成,

isdigit判断字符串只包含数字,

isnumeric判断字符串是否全部由数字组成,

isalnum判断字符串是否由字母和数字组成islower判断字符串中的字符是否全部为小写,字符串至少有一个字符isupper判断字符串中的字符是否全部为大写,字符串至少有一个字符istitle判断字符串是否标题话,见titileisascii如果字符串为空或字符串中的所有字符都是 ASCII,则返回 True,否则返回 False。isprintable如果所有字符都是可打印的,则 isprintable() 方法返回 True,否则返回 False。

举例说明:

print("hello&".isidentifier())
print("   t".isspace())
print("aldflafd你好".isalpha())
print("123四".isdecimal())
print("123四".isnumeric())
print("123abc".isalnum())
print("123四".isdigit())
print("".islower())
print("TLUHBH".isupper())
print("My Name Is Qlee".istitle())
print("我是中国人".isascii())
print("Hello!\nAre you ?".isprintable())

字符串的比较操作:

  • 运算符:> , >=,

方法名称功能max(str)返回字符串 str 中最大的字母min(str)返回字符串 str 中最小的字母ord将指定字符转换为原始值chr将原始值转换为对应的字符

举例说明:

str = "mynameisqlee"
print("max(str): ", max(str),"min(str): ", min(str))
print("hello" < "Hello")
print(ord("c"))
print(chr(98))

输出:

max(str):  y min(str):  a
False
99
b

方法名称功能lstrip(str)去掉左边的

,默认为空白字符rstrip(str)去掉右边的str字符strip(str)去掉左右两边的str字符

代码举例:

str = "   my name is qleeeeee"
print(str.strip())
print(str.rstrip("e"))
str = "!!!!my name is qlee!!!!"
print(str.strip("!"))

输出:

my name is qleeeeee
   my name is ql
my name is qlee

代码距离:

str = "my name is qlee"
print(str.startswith("my"))
print(str.endswith("is"))

方法名称功能count(sub, start= 0,end=len(string))在字符串[start,end)范围内,

lenlen不是string的方法,是内置函数,计算字符串中的字符个数

代码举例:

str = "my name is qlee, what is your name?"
print(str.count("name"))
print(len(str))

方法名称功能encode(encoding=’UTF-8′,errors=’strict’)以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’bytes.decode(encoding=”utf-8″, errors=”strict”)Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回

代码举例:

str = "我是中国人"
str_utf8 = str.encode("UTF-8")
str_gbk = str.encode("GBK")

print("原字符串:",str)
print("------------编码---------------")
print("UTF-8 编码:", str_utf8)
print("GBK 编码:", str_gbk)
print("------------解码---------------")
print("UTF-8 解码:", str_utf8.decode('UTF-8', 'strict'))
print("GBK 解码:", str_gbk.decode('GBK', 'strict'))

输出:

原字符串: 我是中国人
UTF-8 解码: 我是中国人
GBK 解码: 我是中国人

Original: https://blog.csdn.net/QLeelq/article/details/121056435
Author: 非晚非晚
Title: 【python基础】python中常用字符串函数详解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/673810/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球