以下是使用 Dlang 语言原生实现的 str_word_count 函数,实现统计单词数目:

int str_word_count(string str) {
    int count = 0;
    bool is_word = false;
    foreach (char c; str) {
        if (isAlphaNum(c)) {
            is_word = true;
        } else if (is_word) {
            count++;
            is_word = false;
        }
    }
    if (is_word) {
        count++;
    }
    return count;
}

bool isAlphaNum(char c) {
    return isAlpha(c) || isNum(c);
}

bool isAlpha(char c) {
    return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
}

bool isNum(char c) {
    return c >= '0' && c <= '9';
}

该函数会遍历字符串中的每一个字符,如果当前字符是字母或数字,则认为其属于一个单词,当遇到非字母或数字的字符时,则表示这个单词结束,计数器加 1,并将 is_word 标记为 false。当遍历完成后,如果 is_word 为 true,则说明最后一个单词没有被计数,需要将计数器加 1。

Dlang 原生实现 str_word_count 统计单词数 - 考虑标点符号和空格

原文地址: https://www.cveoy.top/t/topic/odaO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录