【问题标题】:How to remove the token `[None]` from the album field of the songs and replace None with whitespaces? [duplicate]如何从歌曲的专辑字段中删除标记“[None]”并用空格替换“None”? [复制]
【发布时间】:2020-07-19 19:48:20
【问题描述】:

功能:

void cleanAlbum()

从没有有效专辑的歌曲的专辑字段中删除标记 [None]

我有一个名为 collection 的歌曲向量,并且有类似

的字符串

字符串艺术家;

字符串专辑;

字符串歌曲名称;

对于名称为“[None]”的专辑,我需要在此收藏中将 [None] 替换为“”(6 个空格)

我的代码不起作用:

     replace_if(collection.begin(), collection.end(), "[None]", "      ");

【问题讨论】:

    标签: c++ vector


    【解决方案1】:

    看起来您正在尝试将您的 Song 类与代码中的字符串进行比较。那是行不通的。如果我是你,我会在你的 Song 类中添加一个名为 isEmpty 的布尔变量,这在你输入“[None]”的情况下为真,如果歌曲为空,则返回一个名为 empty() 的函数。

    使用这个你的代码应该是这样的:

    replace_if(collection.begin(), collection.end(), empty, "      ");
    

    这里是 replace_if 函数文档的链接,http://www.cplusplus.com/reference/algorithm/replace_if/empty() 可能必须不是 Song 类的成员函数才能使其工作,在这种情况下,我建议给它一个不同的名称.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-28
      • 2022-12-01
      • 2021-02-13
      • 1970-01-01
      • 2022-01-03
      • 2020-10-10
      • 1970-01-01
      • 2016-01-22
      相关资源
      最近更新 更多