线切片
在 Python 中,您可以选择字符串的一部分 (substring)。为此,使用获取切片的操作(来自英文 slicing)
切片操作的一般视图如下
<前>
s[开始:停止:步骤]
此命令从字符串 s 中获取一个切片,从索引 start 处的字符开始,直到索引 stop 处的字符(不包括它) step step (不指定则step为1)
括号中的任何部分都可能缺失。
例如,
<前>
s1 = s[3:8]
意味着从 3 到 7 的字符从字符串 s 通过步骤 1 复制到字符串 s1。
您可以采用负索引,然后从字符串的末尾开始计数。
<前>
s = “0123456789”
s1 = s[-7:-2] # s1="34567"
如果未指定start ,则认为它等于零(即我们从字符串的开头取)。如果未指定 stop,则切片一直到字符串末尾。
<前>
s = “0123456789”
s1 = s[:4] # s1="0123"
s2 = s[-4:] # s2="6789"
反转字符串是多么容易:
<前>
s = “0123456789”
s1 = s[::-1] # s1="9876543210"
字符串的所有字符都以 -1 为增量进行迭代,这意味着字符将从末尾开始迭代。涉及整行,因为未指定开始和结束索引。
|
删除和粘贴
要删除字符串的一部分,需要将原字符串中要删除的部分前后的部分组合起来,组成一个新的字符串。
<前>
s = “0123456789”
s1 = s[:3]+s[9:] # s1="0129"
使用切片和字符串连接,您可以在字符串中插入子字符串。
<前>
s = “0123456789”
s1 = s[:3]+"ABC"+s[3:] # s1="012ABC3456789"
|
字符串操作方法
Python 有许多处理字符串的方法(开箱即用的函数)。 其中许多调用使用点符号,称为 方法。可以在线找到完整的字符串操作方法列表。
让我们熟悉其中的一些。
s = "aAbBcC";
sUp = s.upper() # sUp = “AABBCC” - 一种翻译的方法
#将字符串的每个字符大写
sLow = s.lower() # sLow = “aabbcc”; - 一种翻译的方法
#将字符串的每个字符小写
点的左边是要应用该方法的字符串的名称(或引号中的字符串本身),点的右边是方法的名称。该方法始终用括号书写。如果需要,括号内可以有任何参数。
之前,当我们以某种格式在屏幕上显示数据时,我们已经使用了处理字符串的方法——format() 方法
一 = 4
b = 5
print("{}+{}={}".format(a,b,a+b)) # 4+5=9
另一个有用的方法 isdigit() 是一种检查字符串中的所有字符是否都是数字的方法,它返回一个布尔值(True 或 False)。
s = "ab1c";
打印(s.isdigit())#False
小号=“123”
打印(s.isdigit())#True
有用的 strip() 方法允许您删除字符串开头和结尾的空格
小号=&quot; ab 1c "
print('s=', s.strip()) # s=ab 1c
|
在线搜索
要在 Python 中搜索字符串,请使用 find() 方法。
它具有三种形式,返回字符串中子字符串第一次出现的索引:
1) find(str) - 子字符串str 从字符串的开头到结尾进行搜索;
2) find(str, start) -使用start 参数,设置起始索引,并从中执行搜索;< br />
3) find(str, start, end) - 使用end 参数,设置结束索引,搜索在它之前执行。
当没有找到子串时,该方法返回-1:
welcome = "世界,您好!世界再见!”
index = welcome.find("wor")
打印(索引)#6
# 查找第 10 到第 15 个索引
index = welcome.find("wor", 10, 15)
打印(索引)#-1
您可以从字符串的末尾开始搜索。为此,使用了 rfind() 方法(来自英语 reverse find)——它返回字符串中最后一次出现的子字符串的索引。
注意:数据方法不看出现次数,只判断字符串中是否有这样的子串。
|
替换字符串中的子字符串
在 Python 中,要用字符串中的一个子字符串替换另一个子字符串,请使用 replace() 方法:
replace(old, new) - 子字符串old 被new 替换;
replace(old, new, num) - 参数num 显示出现了多少次子字符串old 被new 替换> >.
例子
电话=“+1-234-567-89-10”
# 连字符改为空格
edited_phone = phone.replace("-", "")
打印(编辑电话)#+1 234 567 89 10
# 连字符被删除
edited_phone = phone.replace("-", "")
打印(edited_phone)#+12345678910
# 只有第一个连字符改变
edited_phone = phone.replace("-", "", 1)
打印(编辑电话)#+1234-567-89-10
|