Python中字符串的基本操作

本文详细介绍了Python中字符串的基本操作,包括格式化输出、转义字符、字符串运算符以及多种操作方法,如查找、统计、分割、切片、判断、大小写转化、对齐、裁剪、替换、合并、编码解码和整数字符互转等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本操作

本章主整理关于Python中Str字符串的相关字符及操作方法。

1.格式化输出

格式化符号
相关代码:

  str = "天气不错"
    num = 12.567
    ASC = 65
    print("您的字符串是%s,数字是%0.2f"%(str,num))
    print("您的字符串是%s,数字是%0.2f,asc值:%c"%(str,num,ASC))

2.转义字符

转义字符
相关代码:

 print(" \"床前明月光\",\
            疑是地上霜;\r\
            举头望明月,\
            低头思故乡。")
    print("\\床前明月光\\,\n\\疑是地上霜\\。\n\\举头望明月\\,\n\\低头思故乡\\。")

3.Str_运算符

运算符
相关代码:

a = "Hello"
b = "Python"
print(a + b)   #HelloPython
print(a * 2)   #HelloHello

4.Str_操作方法

(1)查找

string.find(str, beg=0, end=len(string))
检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,
如果是返回开始的索引值,否则返回-1
string.rfind(str, beg=0, end=len(string))
类似于 find()函数,不过是从右边开始查找.

相关代码:

str = "1263456789"
#find and rfind 操作
a = str.find("6")
b = str.find("6",7,len(str))
c = str.rfind("6")
d = str.rfind("6",7,len(str))
print(a)  #  2  找到返回索引值
print(b)  # -1  找不到返回 -1
print(c)  #  6  找到返回索引值(从右往左找)
print(d)  # -1  找不到返回 -1

string.index(str, beg=0, end=len(string))
类似于 find()函数,但是找不到报异常.
string.rindex(str, beg=0, end=len(string))
类似于 rfind()函数,但是找不到报异常.

相关代码:

a = str.index("6")
b = str.index("6",7,len(str))
c = str.rindex("6")
d = str.rindex("6",7,len(str))
print(a)  #  2    找到返回索引值
print(b)  # -1    找不到返回 ValueError
print(c)  #  6    找到返回索引值(从右往左找)
print(d)  # -1    找不到返回 ValueError
(2)统计

string.count(str, beg=0, end=len(string))
检测 str 是否包含在 string 中出现的次数,如果 beg 和 end 指定范围,则检查是否包含在指定范围内

相关代码:

a = str.count("6")
b = str.count("6",7,len(str))
print(a)    #2
print(b)    #0
(3)分割.切片

string.split(str="", num=string.count(str))
以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串
string.splitlines([keepends])
按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

相关代码:

str = "床前明月光,\r疑似地上霜,\r\n举头望明月,\n低头思故乡。"
a = str.split(",")
b = str.split(",",2)
c = str.splitlines(False)
d = str.splitlines(True)
print(a)    #["床前明月光", "\r疑似地上霜", "\r\n举头望明月", "\n低头思故乡。"]
print(b)    #["床前明月光", "\r疑似地上霜", "\r\n举头望明月,\n低头思故乡。"]
print(c)    #["床前明月光,", "疑似地上霜,", "举头望明月,", "低头思故乡。"]
print(d)    #['床前明月光,\r', '疑似地上霜,\r\n', '举头望明月,\n', '低头思故乡。']

string.partition(str)
有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.
string.rpartition(str)
类似于 partition()函数,不过是从右边开始.

str = "aaa111aaa"
a = str.partition("111")
b = str.partition("1")
c = str.rpartition("1")
print(a)    #('aaa', '111', 'aaa')
print(b)    #('aaa', '1', '11aaa')
print(c)    #('aaa11', '1', 'aaa')
(4)判断

string.startswith(obj, beg=0,end=len(string))
检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.
string.endswith(obj, beg=0,end=len(string))
检查字符串是否是以 obj 结尾,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.

相关代码:

str = "aaa111aaa"
a = str.startswith("a")
b = str.startswith("a",3,len(str))
c = str.endswith("a")
d = str.endswith("1")
print(a)    #True
print(b)    #False
print(c)    #True
print(d)    #False

string.isalnum()
所有字符都是字母或数字则返回 True,否则返回 False

相关代码:

str = "sdasdfd123244s"
str1 = "sd123das/"
a = str.isalnum()
b = str1.isalnum()
print(a)    #True
print(b)    #False

string.isalpha()
所有字符都是字母则返回 True,否则返回 False

相关代码:

str = "sdmfsdfmdksDFfdsf啊"
str1 = "kdfjsdkfj111"
a = str.isalpha()
b = str1.isalpha()
print(a)    #True
print(b)    #False

string.isdigit()
所有字符都是数字则返回 True,否则返回 False

相关代码:

str = "21321412132"
str1 = "2da1321412132"
a = str.isdigit()
b = str1.isdigit()
print(a)    #True
print(b)    #False

string.isupper()
所有字符都是大写则返回 True,否则返回 False

相关代码:

str = "ASDSAFFDFAS"
str1 = "SADSDAsddas"
a = str.isupper()
b = str1.isupper()
print(a)    #True
print(b)    #False

string.islower()
所有字符都是小写则返回 True,否则返回 False

相关代码:

str = "ASDSAFFDFAS"
str1 = "asdsasddas"
a = str.islower()
b = str1.islower()
print(a)    #False
print(b)    #True

string.isspace()
只包含空格则返回 True,否则返回 False

相关代码:

str = "              "
str1 = "   ,      "
a = str.isspace()
b = str1.isspace()
print(a)    #True
print(b)    #False
(5)大小写转化

string.capitalize()
把字符串的第一个字符大写

相关代码:

str = "sdsahhsadisa"
a = str.capitalize()
print(a)    #Sdsahhsadisa

string.upper()
转换 string 中的小写字母为大写

相关代码:

str = "abcdEFG"
a = str.upper()
print(a)    #ABCDEFG

string.lower()
转换 string 中的大写字母为小写

相关代码:

str = "dddadERQR"
a = str.lower()
print(a)    #dddaderqr
(6)对齐

string.ljust(width)
返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

相关代码:

str = "1"
a =str.ljust(3,"0")
print(a)    #100

string.rjust(width)
返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串

相关代码:

str = "2"
a = str.rjust(3,"0")
print(a)    #002

string.center(width)
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

相关代码:

str = "3"
a = str.center(3,"0")
print(a)    #030
(7)裁剪

string.strip([obj])
删除 string 字符串前后的的obj,如果不传参数,删除前后空格

相关代码:

str = "   aaaa    "
str1 = "1aaa1"
a = str.strip()
b = str1.strip("1")
print(a)    #aaaa
print(b)    #aaa

string.lstrip([obj])
删除 string 字符串左面的obj,如果不传参数,删除左面空格

相关代码:

str ="   12314"
str1 = "1ewe1"
a = str.lstrip()
b = str1.lstrip("1")
print(a)    #12314
print(b)    #ewe1

string.rstrip([obj])
删除 string 字符串右面的obj,如果不传参数,删除右面空格

相关代码:

str = "1234141   "
str1 = "abcdef1"
a = str.rstrip()
b = str1.rstrip("1")
print(a)    #1234141
print(b)    #abcdef
(8)替换

string.replace(str1,str2)
将字符串string中的str1字串替换为str2

相关代码:

str = "12365"
a = str.replace("6","4")
print(a)    #12345
(9)合并

string.join(seq)
以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

相关代码:

list = ["a","d""12","34211"]
a = "-".join(list)
print(a)    #a-d12-34211
(10)编码解码

string.encode(encoding=‘UTF-8’, errors=‘strict’)
以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’
bytes.decode(encoding=‘UTF-8’, errors=‘strict’)
以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除 非 errors 指 定 的 是 ‘ignore’ 或
者’replace’

相关代码:

str = "addasd"
a = str.encode("UTF-16")
b = a.decode(encoding="UTF-16")
print(a)    #b'\xff\xfea\x00d\x00d\x00a\x00s\x00d\x00'
print(b)    #addasd
(11)整数 字符 互转

字符->整数:x=ord(“a”)

相关代码:

b = ord("a")
print(b)    #97

整数->字符:x=chr(97)

相关代码:

b = chr(97)
print(b)    #a

END !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值