使用 C++ 替换 txt 文件中的文本数字字符串

Replace the text numbers string in a txt file using C++

本文关键字:文本 数字 数字字符 字符串 C++ 替换 txt 文件 使用      更新时间:2023-10-16

例如:

文件之前:

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

文档后:

你好,我的日薪是#,

你的工资是#,我的年龄是#。

所有的文本数字和我放了#符号。请给我任何想法..

  1. 打开要处理的文档,并在追加模式下打开临时文件。

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

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

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

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

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

你可以试试这个:

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

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

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

    {"六角","五亿","千万","万亿","十亿","百万", "千","百","}

    {"十","十一","十二","十三", "十四"、"十五"、"十六"、"十七"、"十八" ,"十九"};

  2. 逐字扫描文本(注意标点符号,如',', '.'等),如果单词包含上述vector<string>中的任何一个,请将其替换为#