Dada una string, extrae todas las palabras enteras de ella. Ejemplos:
Input : str = "geeksforgeeks 12 13 practice" Output : 12 13 Input : str = "1: Prakhar Agrawal, 2: Manish Kumar Rai, 3: Rishabh Gupta" Output : 1 2 3 Input : str = "Ankit sleeps at 4 am." Output : 4
La idea es usar stringstream: , los objetos de esta clase usan un búfer de strings que contiene una secuencia de caracteres.
Algoritmo:
- Ingrese la string completa en stringstream.
- Extrae todas las palabras de la string usando loop.
- Comprobar si una palabra es entera o no.
Implementación:
CPP
/* Extract all integers from string */ #include <iostream> #include <sstream> using namespace std; void extractIntegerWords(string str) { stringstream ss; /* Storing the whole string into string stream */ ss << str; /* Running loop till the end of the stream */ string temp; int found; while (!ss.eof()) { /* extracting word by word from stream */ ss >> temp; /* Checking the given word is integer or not */ if (stringstream(temp) >> found) cout << found << " "; /* To save from space at the end of string */ temp = ""; } } // Driver code int main() { string str = "1: 2 3 4 prakhar"; extractIntegerWords(str); return 0; }
Producción
1 2 3 4
Artículos relacionados :
- Convertir string a número y viceversa en C++
- Programa para extraer palabras de un String dado
- Eliminar espacios de una string usando Stringstream
Este artículo es una contribución de Prakhar Agrawal . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA