How to remove all letters from an alphanumeric string in C++

3 Answers

0 votes
#include <iostream>

std::string RemoveAlphabets(std::string str) {
	for (int i = 0; i < str.size(); i++) {
        if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
            str.erase(i, 1);
            i--;
        }
	}
	
	return str;
}

int main(void)
{
    std::string str = "cpp 17 d 900 e 8542";

	str = RemoveAlphabets(str);

    std::cout << str;
}




/*
run:

 17  900  8542

*/

 



answered Nov 10, 2022 by avibootz
0 votes
#include <iostream>
#include <algorithm>

int main(void)
{
    std::string str = "cpp 17 d 900 e 8542";

	str.erase(std::remove_if(str.begin(), str.end(), [](unsigned char ch){return std::isalpha(ch);}), str.end());

    std::cout << str;
}




/*
run:

 17  900  8542

*/

 



answered Nov 10, 2022 by avibootz
0 votes
#include <iostream>
#include <algorithm>

int main(void)
{
    std::string str = "cpp 17 d 900 e 8542";

	str.erase(std::remove_if(str.begin(), str.end(), (int(*)(int))std::isalpha), str.end());

    std::cout << str;
}




/*
run:

 17  900  8542

*/

 



answered Nov 10, 2022 by avibootz
...