提取单词

题目要求

从字符串里提取单词,例如”this is a book“,将单词放到列表里,要求是不能使用split函数

思路分析

遍历字符串,空格的部分,一定不是单词,非空格的地方一定是单词。从空格到非空格是一次转变,从非空格到空格是一次转变。用两个变量start 和 end 分别记录这两次发生转变的索引位置。用b_start来标识当前索引是否在单词上。

示例代码

string = " this is a book"
lst = []
# 记录单词开始和结束的位置
b_start = False
start = 0  # 单词开始的位置
end = 0    # 单词结束的位置

for index, item in enumerate(string):
    if item != " ":
        if b_start:
            continue
        else:
            b_start = True
            start = index
    else:
        if b_start:
            b_start = False
            end = index - 1
            lst.append(string[start:end+1])

if b_start:
    lst.append(string[start:])

print(lst)

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案