split()方法默认按所有空白字符切分字符串并自动忽略首尾及连续空白,返回纯净单词列表;处理标点需预清洗或正则;如需保留分隔符应改用re.split('(\s+)', text)。

直接用 split() 方法就能把用户输入的长字符串按空白字符(空格、制表符、换行符等)自动切分成单词列表,无需额外指定分隔符,它默认处理所有空白。
基础用法:直接调用 split() 处理输入
用户输入一整段文字后,用 input() 获取字符串,再立刻调用 .split(),返回的就是以单词为元素的列表。
- 空字符串或只含空白时,
split()返回空列表[] - 连续多个空格会被当作一个分隔符,不会产生空字符串元素
- 开头或结尾的空白会被自动忽略
处理中英文混合或带标点的情况
split() 默认不识别标点符号,比如 "Hello, world!" 会切出 ["Hello,", "world!"] —— 逗号和感叹号仍附在单词上。如需干净的纯单词,可先简单清洗:
快速生成专业的 Python 脚本和应用代码。一键创建完整项目结构,支持CLI、API、爬虫、Bot、Django等多种项目类型,包含完整的项目结构、配置文件、依赖管理、测试、README和文档。
- 用
str.replace()替换常见标点为空格,再split() - 或用正则
re.split(r'[^a-zA-Z0-9\u4e00-\u9fff]+', text)按非字母数字非中文字符切分(需导入re)
保留原始分隔符?不用 split(),改用其他方法
如果需要知道每个单词之间用了几个空格、是否有制表符等,split() 不适用(它丢弃所有分隔符)。此时可用:
-
str.split(' ')—— 指定空格为分隔符(但会保留空字符串,例如"a b".split(' ')得['a', '', 'b']) -
re.split('(\s+)', text)—— 用正则捕获分组,同时返回单词和空白分隔符
完整示例代码
(复制即可运行)
text = input("请输入一段文字:")
words = text.split()
print("切分后的单词列表:", words)
print("共", len(words), "个单词")Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










