字符串开头的分隔符
Delimiter at the start of a string
我根据分隔符 "/"
.
将字符串拆分成更小的部分
stringstream ss(stringToSplit);
string item;
vector<std::string> splitStrings;
while (std::getline(ss, item, delimiter))
{
splitStrings.push_back(item);
}
一些字符串看起来像这样:
home/user/folder
/home/user/folder
banana/grape/onion
/banana/grape/onion
我遇到的问题是,前面有我的定界符 "/"
的字符串在结果向量的开头创建了一个空项。有没有办法避免这种情况或删除空项目?
我尝试删除向量中的所有 " "
字符串,但它们仍然存在。
好吧,您可以像这样跳过 getline()
检测到的空字符串:
stringstream ss(stringToSplit);
string item;
vector<std::string> splitStrings;
while (std::getline(ss, item, delimiter))
{
if(!item.empty()) { // <<<<<<<<<<<<<
splitStrings.push_back(item);
}
}
我根据分隔符 "/"
.
stringstream ss(stringToSplit);
string item;
vector<std::string> splitStrings;
while (std::getline(ss, item, delimiter))
{
splitStrings.push_back(item);
}
一些字符串看起来像这样:
home/user/folder
/home/user/folder
banana/grape/onion
/banana/grape/onion
我遇到的问题是,前面有我的定界符 "/"
的字符串在结果向量的开头创建了一个空项。有没有办法避免这种情况或删除空项目?
我尝试删除向量中的所有 " "
字符串,但它们仍然存在。
好吧,您可以像这样跳过 getline()
检测到的空字符串:
stringstream ss(stringToSplit);
string item;
vector<std::string> splitStrings;
while (std::getline(ss, item, delimiter))
{
if(!item.empty()) { // <<<<<<<<<<<<<
splitStrings.push_back(item);
}
}