如何删除最后一个逗号? [重复]
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
另一答案
有三种方式:
- 在元素前打印逗号,除非它是第一个:
#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; }
- 类似,但没有布尔值:
bool first = true; for ... if (!first) cout << ", "; cout << s.back(); first = false;
- 检查索引:
const char * prefix = ""; for ... cout << prefix << s.back(); prefix = ", ";
当在每个元素的末尾打印逗号时,索引检查也可以在最后一个元素上起作用。 - 打印循环外的第一个元素,其余元素将以循环中的分隔符作为前缀(请注意,这对空列表不起作用)。
以上是关于如何删除最后一个逗号? [重复]的主要内容,如果未能解决你的问题,请参考以下文章
用逗号分隔数组,但是当涉及到最后一个字符串时,删除逗号[重复]