strip()用于去除字符串首尾指定字符,默认去空白符,不改中间内容;可自定义字符集,lstrip()和rstrip()分别只处理左端或右端;返回新字符串,不影响原串。

Python 中的 strip() 方法专门用于去除字符串开头和结尾的指定字符,默认去除所有空白符(包括空格、\t、\n、\r、\f 和 Unicode 空白字符),不修改中间内容。
strip() 的基本用法
调用时无需参数,即可清除首尾所有空白字符:
-
" hello world \n".strip()→"hello world" -
"\t\tPython\r\n".strip()→"Python" -
" ".strip()→""(空字符串)
自定义要去除的字符
传入字符串作为参数,strip() 会移除首尾出现的**任意一个**该字符串中的字符(不是子串):
-
"###Hello###".strip("#")→"Hello" -
"...test...".strip(".")→"test" -
"xyxHelloxyx".strip("xy")→"Hello"(注意:x 和 y 都会被当作可剥离字符) -
"abccbaHelloabccba".strip("abc")→"Hello"(从两边逐个剥离 a/b/c,直到遇到非目标字符)
区分 strip()、lstrip() 和 rstrip()
三者行为一致,仅作用范围不同:
立即学习“Python免费学习笔记(深入)”;
-
strip():同时处理开头和结尾 -
lstrip():只处理开头(left) -
rstrip():只处理结尾(right)
例如:" hello \n\t".lstrip() → "hello \n\t";" hello \n\t".rstrip() → " hello"。
常见注意事项
strip() 不改变原字符串(字符串不可变),总是返回新字符串;它不会递归或批量处理多行文本的每一行:
-
s = " line1\n line2 \n"; s.strip()只清理整个字符串首尾,结果仍是"line1\n line2" - 如需每行分别去首尾空格,应配合
splitlines()和列表推导式:[line.strip() for line in s.splitlines()] - strip() 对中间空格、制表符或换行符完全无影响,例如
"a b\n c".strip()→"a b\n c"


















