在c ++中如何从字符串中删除字母并从字母中添加一个数字到int

时间:2015-10-28 02:47:21

标签: c++ string

我要做的是拥有一个字符串,其中包含AABBCC之类的字符串值。我想要做的是一个循环,它查看字符串变量中的第一个字母并删除第一个字母,并根据数字向int变量添加一个数字。 基本上我正在寻找的是。

string LettertoNumber = AABBCC

在LettertoNumber中取第一个字母

删除第一个字母A

将1添加到int变量

当A不再是第一个字母时,

结束循环

参加LettertoNumber B的第一封信

删除第一个字母B

将2添加到int变量

当B不再是第一个字母时结束循环

参加LettertoNumber C的第一封信

删除第一个字母C

将3添加到int变量

当C不再是第一个字母时结束循环

现在我可以了解如何使用int变量添加数字。 我能找到的是如何从字符串中删除所说的内容。 我正在寻找一种我能理解的方法。

1 个答案:

答案 0 :(得分:0)

您不需要删除字母,只需遍历字符串并相应地更新总和:

string s;
cin >> s;
int sum = 0;
for (int i = 0; i < s.size();) {

  do {
    // as long as:
    //  1. you are not at the end of the string 
    //  and 
    //  2. there is a sequence of equal chars
    // update your sum accordingly
    sum += value_you_want_for(s[i]);
    i++;
  } while (i < s.size() && s[i - 1] == s[i]) 

}
cout << sum;

如果真的,想删除字符,则可以使用std::string的{​​{3}}方法。