如何在 `str.split()` 中指定多个非空格分割符?
时间: 2024-09-30 07:03:59 浏览: 30
python字符串切割:str.split()与re.split()的对比分析
在 Python 的 `str.split()` 方法中,默认情况下它是使用空白字符(包括空格、制表符、换行符等)来进行字符串切割的。如果你想要使用多个特定的非空格字符作为分割符,你可以直接在调用 `split()` 函数时传入这些字符作为一个分隔符列表。
例如:
```python
text = "This;is;a;separated;string"
split_chars = ';,'
result = text.split(split_chars)
print(result) # 输出: ['This', 'is', 'a', 'separated', 'string']
```
在这个例子中,`';'` 和 `,` 都被用作分割符,所以字符串会被按照这两个字符的位置进行切割。
如果你想让某些字符始终被视为分割符,即使它们出现在结果中,可以先将它们转义为正则表达式的模式。例如,如果你的分隔符中包含`.`,你需要这样做:
```python
import re
text = "This.is.a.separated.string"
split_chars = [".", ";"]
pattern = "[" + "".join(map(re.escape, split_chars)) + "]"
result = re.split(pattern, text)
print(result) # 输出: ['This', 'is', 'a', 'separated', 'string']
```
在这里,`re.escape()` 是用来确保每个特殊字符都被正确地转义为正则表达式中的特殊字符。
阅读全文