Python 3.9 中的新字符串方法
removeprefix() 与 lstrip()
删除前缀()
str.removeprefix(prefix)
- 如果字符串以前缀字符串开头,则返回;否则,返回原始字符串的副本。
string[len(prefix):]
- 的参数
removeprefix()
被视为子字符串而不是字符集。
lstrip()
str.lstrip([chars])
- 返回删除了前导字符的字符串的副本。chars参数是一个字符串,指定要删除的字符集。chars 参数不是前缀,而是其值的所有组合都被剥离-Python docs
删除后缀()与 rstrip()
删除后缀()
str.removesuffix(suffix)
- 如果字符串以后缀字符串结尾并且该后缀不为空,则返回string[:-len(suffix)]。否则,返回原始字符串的副本:
- removesuffix() 的参数被视为子字符串而不是字符集。
rstrip()
str.rstrip([chars])
返回删除了尾随字符的字符串副本。参数是一个字符串,chars 指定要删除的字符集。如果省略 or None,则chars参数默认删除空格。参数不是后缀;相反,它的值的所有组合都被剥离了。
Python 3.9 之前删除前缀和后缀的不同方法
- 使用 re.sub()
删除后缀
导入re
模式= r"abc$"
s1= "abcPYTHONacbcabc"
s2=re.sub(pattern, "" ,s)1
print (s2)
#Output:abcPYTHONacbc
pattern=r”abc$”
→ 检查字符串是否以“abc”
$
→ 结尾,表示字符串的结尾。
s2=re.sub(pattern,””,s1)
→ 如果模式匹配,它将用空字符串替换子字符串。
删除前缀
导入re
模式= r"^abc"
s1= "abcbcPYTHONabc"
s2=re.sub(pattern, "" ,s1)
print (s2)
#Output:bcPYTHONabc
pattern=r”^abc”
→ 检查字符串是否以 “abc”
^
→ 表示字符串的开头
- 使用 str.startswith()
s1 = "abcbcacPythonacbcabc"
if (s1.startswith( "abc" )):
print (s1.replace( "abc" , "" ,1))
#输出:bcacPythonacbcabc
如果字符串以 开头,“abc”则表示它将用“”(空字符串)替换该子字符串
count = 1 表示仅提到的该子字符串的一次出现被空字符串替换。
- 使用 str.endswith()
s2 = "Pythonacbcabc"
if (s2.endswith( "abc" )):
print (s2[:-3])
#Output:Pythonacbc