如何删除最后一个逗号? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何删除最后一个逗号? [重复]相关的知识,希望对你有一定的参考价值。

程序显示数字列表。例如:

1, 3, 5, 3, 4, 3,

我需要像这样:

1, 3, 5, 3, 4, 3

我尝试了if/else声明,但它没有好处。

s.push_back(0);
cout << "s: ";
cout << 0 << ", ";
s.push_back(v[0]);
cout << s.back() << ", ";

for(int i=2; i<=10; i++) {
    s.push_back(alpha * v[i-1] + (1 - alpha) * s.back());
    if (i == s.back() - 1)
        cout << s.back() << endl;
    else
        cout << s.back() << ", " << "";

我得到了正确的输出。只是在摆脱最后一个逗号时遇到麻烦。

答案

如果将逗号放在除第一个元素之外的每个元素之前,您将实现此目的

 if(first){
    out << n;
    first = false;
 }else{
    out << "," << n;
 }
另一答案

通过更新分隔符变量来避免使用qazxsw poi

if
另一答案

有三种方式:

  1. 在元素前打印逗号,除非它是第一个: #include <iostream> #include <vector> #include <functional> int main() { std::vector<int> example = {1,2,3,4,5}; std::string delim = ""; for(const auto& e:example){ std::cout << delim << e; delim = ", "; } return 0; }
  2. 类似,但没有布尔值: bool first = true; for ... if (!first) cout << ", "; cout << s.back(); first = false;
  3. 检查索引: const char * prefix = ""; for ... cout << prefix << s.back(); prefix = ", "; 当在每个元素的末尾打印逗号时,索引检查也可以在最后一个元素上起作用。
  4. 打印循环外的第一个元素,其余元素将以循环中的分隔符作为前缀(请注意,这对空列表不起作用)。

以上是关于如何删除最后一个逗号? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何删除最后一个逗号? [重复]

如何删除数组中的最后一个逗号和空格? Java [重复]

用逗号分隔数组,但是当涉及到最后一个字符串时,删除逗号[重复]

从使用 foreach 循环构造的 JSON 中删除最后一个逗号 [重复]

如何删除最后一个数字中的逗号?

如何删除最后一个字符(从数组创建字符串时的逗号)? [复制]