python中的strip()应用
程序员文章站
2022-05-04 16:40:43
...
1.Python中的strip()
Python中 strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
(1)语法
str.strip([char])
(2)参数
char为移除字符串头尾指定的字符序列。
(3)返回值
返回移除字符串头尾指定的字符生成的新字符串。
(4)实例
str = "000Hello000World000"
#"0"或"000"都行
print(str.strip("0"))
结果:
Hello000World
那有没有其他方法啊?其实有的。
我们可以利用切片操作,实现一个strim()函数。
方法一:
def trim(s):
# 判断第一个字符是否为空格,若为真利用切片删除这个字符
while s[:1] == " ":
s = s[1:]
# 判断最后一个字符是否为空格,若为真利用切片删除这个字符
while s[-1:] == " ":
s = s[:-1]
return s
str=" python "
print(trim(str))
结果:
python
方法二:
def trim(s):
# 判断第一个字符是否为空格
if s[:1] == " ":
# 利用递归改变S并再次进行判断
s = trim(s[1:])
# 判断最后一个字符是否为空格
if s[-1:] == " ":
# 利用递归改变S并再次进行判断
s = trim(s[:-1])
return s
str=" python "
print(trim(str))
结果:
python
错误方法:
def trim(s):
while s[0] == " ":
s = s[1:]
while s[-1] == " ":
s = s[:-1]
return s
str = " python "
print(trim(str))
结果:
python
这里表面看似我们再次成功定义了一个trim()函数,但是为什么是错的呢?
当我们将str中的字符串改为空字符时会发现程序报错。
索引器错误:字符串索引超出范围。而我们使用方法一或者方法二均不会报错。
这是因为当序列是空序列,这时候用[:1]取第一个元素是空,不会报错,而用[0]取由于超过索引范围则会报错。是程序中s[0]和是s[:1]区别所导致的
上一篇: 数据类型的操作
推荐阅读
-
获取数据库中两个时间字段的相差天数及ABS/DATEDIFF函数应用
-
向数据库中插入数据并返回当前插入的行数及全局变量@@IDENTITY应用
-
Python的Django框架中自定义模版标签的示例
-
在Python的Django框架中编写编译函数
-
详解在Python的Django框架中创建模板库的方法
-
在Python的Django框架中包装视图函数
-
.Net WInform开发笔记(二)Winform程序运行结构图及TCP协议在Winform中的应用
-
Python的Django框架中从url中捕捉文本的方法
-
iOS应用开发中对UIImage进行截取和缩放的方法详解
-
详解iOS应用中自定义UIBarButtonItem导航按钮的创建方法