【发布时间】:2014-04-17 12:10:46
【问题描述】:
这里我有一个字符串,但我只需要删除小写字母,即 mi。
原始代码是:
bool check(char c) { return !(std::isdigit(c) ||std::isalpha(c)); }
int main() {
std::string str = "m_ivecCadCurveEdges_Pattern";
str.erase(std::remove_if(str.begin(), str.end(), check),str.end());
for (std::string::size_type i=0; i<str.length(); ++i)
{
//if (!std::islower(str.at(i) && str.at(i) != '_')
if (!std::islower(str.at(i)))
{
str.erase(0, i);
break;
}
}
if (std::isdigit(str.at(0)))
str= "N" + str;
std::cout<<str;
}
一旦循环到达字符串中的 B,我想打破循环。
【问题讨论】:
-
-
用户 remove_if 后跟擦除。
-
@juanchopanza 不确定它是否会在字符串正确的情况下工作,因为删除不是我想要的方式..
-
@shivi 那么你应该更好地解释你想要什么。再次阅读问题的标题。