Python 字符串提供了丰富的内置方法,除了之前提到的对齐方法外,还有许多常用功能。以下是一些核心方法分类及示例:
1. 分割与连接
-
split(sep=None, maxsplit=-1)
按分隔符分割字符串,返回列表。sep
为分隔符(默认空格),maxsplit
限制分割次数。
示例:"a,b,c".split(',')
→['a', 'b', 'c']
-
rsplit(sep=None, maxsplit=-1)
从右侧开始分割(与split
类似,主要差异在maxsplit
时)。
示例:"a,b,c,d".rsplit(',', 1)
→['a,b,c', 'd']
-
splitlines(keepends=False)
按换行符分割(\n
、\r\n
等),keepends=True
保留换行符。
示例:"line1\nline2".splitlines()
→['line1', 'line2']
-
join(iterable)
用字符串连接可迭代对象(如列表)。
示例:"-".join(['a', 'b', 'c'])
→"a-b-c"
2. 去除空白/指定字符
-
strip(chars=None)
移除字符串两端的空白(默认)或指定字符。
示例:" hello ".strip()
→"hello"
;"###hello###".strip('#')
→"hello"
-
lstrip(chars=None)
/rstrip(chars=None)
仅移除左侧/右侧的空白或指定字符。
示例:" hello ".lstrip()
→"hello "
;"hello###".rstrip('#')
→"hello"
3. 查找与替换
-
find(sub, start=0, end=None)
/rfind(sub, start=0, end=None)
查找子串sub
的位置,返回索引(未找到返回-1
),rfind
从右侧开始。
示例:"hello".find('l')
→2
-
index(sub, start=0, end=None)
/rindex(sub, start=0, end=None)
类似find
,但子串未找到时会抛出ValueError
。 -
replace(old, new, count=-1)
替换子串,count
限制替换次数。
示例:"aaa".replace('a', 'b', 2)
→"bba"
-
count(sub, start=0, end=None)
统计子串出现的次数。
示例:"ababa".count('aba')
→1
(注意重叠情况不重复计数)
4. 大小写转换
-
lower()
/upper()
转换为全小写/全大写。
示例:"Hello".lower()
→"hello"
;"Hello".upper()
→"HELLO"
-
capitalize()
首字母大写,其余小写。
示例:"hello world".capitalize()
→"Hello world"
-
title()
每个单词首字母大写(以空格分隔的视为单词)。
示例:"hello world".title()
→"Hello World"
-
swapcase()
大小写互换。
示例:"Hello World".swapcase()
→"hELLO wORLD"
5. 判断与检查
-
startswith(prefix, start=0, end=None)
/endswith(suffix, start=0, end=None)
判断字符串是否以指定前缀/后缀开头/结尾。
示例:"hello".startswith('he')
→True
-
isalpha()
/isdigit()
/isalnum()
检查是否全为字母/数字/字母或数字。
示例:"123".isdigit()
→True
;"abc123".isalnum()
→True
-
islower()
/isupper()
/istitle()
检查是否全为小写/大写/标题格式(首字母大写)。
示例:"Hello".isupper()
→False
-
isspace()
检查是否全为空白字符(空格、换行等)。
示例:" \t\n".isspace()
→True
6. 其他实用方法
-
format(*args, **kwargs)
字符串格式化(替代%
占位符)。
示例:"Name: {0}, Age: {1}".format("Alice", 30)
→"Name: Alice, Age: 30"
-
encode(encoding='utf-8', errors='strict')
将字符串转换为指定编码的字节(bytes)。
示例:"你好".encode('utf-8')
→b'\xe4\xbd\xa0\xe5\xa5\xbd'
-
expandtabs(tabsize=8)
将制表符\t
转换为指定数量的空格(默认 8)。
示例:"a\tb".expandtabs(4)
→"a b"
这些方法覆盖了字符串处理的大部分场景,通过组合使用可以完成复杂的文本处理任务。需要时可通过 help(str)
查看完整文档。