在Python中分割字符串主要使用以下方法,根据需求选择合适的方式:
一、使用 split()
方法
-
基本用法
按指定分隔符分割字符串,返回子字符串列表。默认按空白字符(空格、换行符等)分割。
a = "hello,python,Good Night" print(a.split(',')) # ['hello', 'python', 'Good Night']
-
限制分割次数
通过第二个参数指定最大分割次数(
maxsplit
),返回的列表长度最多为maxsplit+1
。a = "a,b,c,d" print(a.split(',', 2)) # ['a', 'b,c,d']
-
按行分割
使用
splitlines()
方法按换行符分割,返回行列表。支持keepends
参数保留行尾换行符。a = '''I have a pen
I have a apple apple pen''' print(a.splitlines(keepends=True)) # ['I have a pen\n', 'I have a apple\n', 'apple pen']
### 二、使用正则表达式 `re.split()`<b class="card40_2411__sup_5321" data-sup="sup">3</b>
通过 `re` 模块按复杂模式分割字符串,支持自定义分隔符(包括特殊字符)。
```python
import re
a = "apple,orange;banana.cherry"
print(re.split('[,.;]', a)) # ['apple', 'orange', 'banana', 'cherry']
三、其他方法
-
字符串切片 :通过
s[start:end:step]
截取子字符串,非分割用途。 -
组合使用
split()
和join()
:先替换分隔符为统一字符,再分割。
总结 :优先使用 split()
处理简单分隔符,复杂需求(如多字符、特殊字符)则用 re.split()
。注意区分 splitlines()
与按空白字符分割的差异。