【问题标题】:Parse token from a file in c++从 C++ 文件中解析令牌
【发布时间】:2015-02-21 21:26:50
【问题描述】:

// 在从文件中解析标记时,我们如何处理首字母缩略词(例如“U.S”“U.N”)。我使用 strtok 来解​​析标记,它将 U & S 与“U.S”分开。下面的代码我用来解析我从文件中读取的每一行的令牌。我将令牌转换为小写并存储在地图中。提前致谢。

char *pch = strtok (text," ,.-()/{}[]*&#");
    while (pch != NULL)
    {
       for (char *iter = pch; *iter != '\0'; iter++)
       {
            *iter = tolower(*iter);
       }
         string str(pch);
         token_list.insert(pair<T,K>(str,fileName));//stores token with filename in which it is found
         word_count[str]++;//stores token with its frequency
         pch = strtok(NULL," ,.-()/{}[]*&#");
    }

【问题讨论】:

  • 有什么方法可以在不使用 strtok 的情况下处理首字母缩略词?感谢回复。

标签: c++ token


【解决方案1】:

执行此操作的一种方法是创建另一个函数,在您尝试分隔的单词的前后添加空格,例如 U.S 到 (space)U.S(space)。然后,您只需解析字符串中的空格即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 2010-10-08
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 2017-10-21
    相关资源
    最近更新 更多