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) 查看完整文档。
