使用C ++替换文本文件中的文本编号字符串

时间:2014-01-21 06:12:03

标签: c++

例如:

在文档之前:

  你好,我的日薪是二千零五,你的工资是五十亿。我的年龄是二十五岁。

文件后:

  你好,我的日薪是#,你的薪水是#。我的年龄是#。

所有文字编号和我放#符号..请给我任何想法..

2 个答案:

答案 0 :(得分:1)

  1. 打开您要处理的文档,并以附加模式打开临时文件。

  2. 从文档中读取一行。 (我假设您不需要处理跨越行的数字。如果您这样做,则需要更准确地指定问题。)

  3. 替换在该行的内存中副本中找到的任何数字。

  4. 将(可能已修改的)行写入临时文件。

  5. 循环到第2步,直到您处理完原始文件的所有行。

  6. 如果需要,请将修改后的文件移到原始文件的顶部。

答案 1 :(得分:0)

你可以试试这个:

  1. 创建一个vector<string>,其中包含与数字相关的所有字词,包括

      

    {“零”,“一”,“二”,“三”,“四”,“五”,“六”,                   “七”,“八”,“九”}

         

    {“二十”,“三十”,“四十”,“五十”,“六十”,                   “七十”,“八十”,“九十”}

         

    {“hexillion”,“quintillion”,“quadrillion”,“万亿”,“十亿”,“百万”,                       “千”,“百”,“”}

         

    {“十”,“十一”,“十二”,“十三”,                       “十四”,“十五”,“十六”,“十七”,“十八”                           ,“十九”};

  2. 逐字扫描文字(照顾',', '.'等标点符号),如果该字词包含上述vector<string>中的任何一个,请将其替换为{{ 1}}。