You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计字符串中独立单词"the"和"to"的出现次数?

解决独立单词统计问题

方法一:分割字符串为单词列表(最简单)

直接把输入字符串按空格拆成单个单词,再逐个检查是不是目标单词the或to,还能顺便处理带标点的情况(比如the,这种)。

代码示例:

# 获取输入字符串
input_str = input("请输入字符串:")
# 按空格分割成单词列表
word_list = input_str.split()
count = 0
# 定义要统计的目标单词
target_words = {"the", "to"}

for word in word_list:
    # 去除单词首尾的常见标点(逗号、句号、问号等)
    cleaned_word = word.strip(",.!?;:")
    # 判断是否是目标单词(如果要区分大小写就去掉.lower())
    if cleaned_word.lower() in target_words:
        count += 1

print(count)

测试你的示例输入these are the boxes,运行后会输出1,符合预期。

方法二:遍历字符串索引判断(贴近你的思路)

按照你之前想的,通过判断目标单词前后的空格/边界来识别独立单词,核心是找到目标单词的起始索引后,计算结束位置的下一个字符,判断是否符合条件。

代码示例:

input_str = input("请输入字符串:")
count = 0
# 定义要统计的两个目标单词
targets = ["the", "to"]
str_len = len(input_str)

for target in targets:
    target_len = len(target)
    i = 0
    # 遍历所有可能的起始位置
    while i <= str_len - target_len:
        # 检查当前位置开始的子串是否等于目标单词
        if input_str[i:i+target_len] == target:
            # 判断前面是否是字符串开头或者空格
            is_front_valid = (i == 0) or (input_str[i-1] == " ")
            # 判断后面是否是字符串结尾或者空格
            is_back_valid = (i + target_len == str_len) or (input_str[i+target_len] == " ")
            
            if is_front_valid and is_back_valid:
                count += 1
                # 跳过已匹配的部分,避免重复统计
                i += target_len
            else:
                i += 1
        else:
            i += 1

print(count)

这个方法里,i+target_len就是目标单词结束字符的下一个索引,通过它可以判断后面是不是空格或者到了字符串末尾,完美解决你之前不知道怎么获取结束索引的问题。

内容的提问来源于stack exchange,提问作者Piyush Baweja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 22:05:45