- C++ Programming Examples
- C++ Programming Examples
- C++: Hello World
- C++: Get Input
- C++: Print Integer
- C++: Add two numbers
- C++: Add, Sub, Multiply, Div
- C++: Add Digits
- C++: Find Average and Percentage
- C++: Find Arithmetic Mean
- C++: Sum of n Natural Numbers
- C++: Sum of n Numbers
- C++: Square's Area and Perimeter
- C++: Rectangle's Area and Perimeter
- C++: Triangle's Area and Perimeter
- C++: Area and Circumference
- C++: Find Simple Interest
- C++: Fahrenheit to Celsius
- C++: Celsius to Fahrenheit
- C++: Print Prime Numbers
- C++: Reverse a Number
- C++: Swap Two Numbers
- C++: Print Multiplication Table
- C++: Find Factorial of a Number
- C++: Find Factors of a Number
- C++: Find HCF and LCM
- C++: Create a Calculator
- C++: Count Digits in a Number
- C++: First and Last Digit Sum
- C++: Product of Number Digits
- C++: Sum of Squares of Digits
- C++: Interchange Digits of Number
- C++ if-else Programs
- C++: Check Even or Odd
- C++: Check Prime or Not
- C++: Check Alphabet or Not
- C++: Check Vowel or Not
- C++: Check Leap Year or Not
- C++: Check Reverse equals Original
- C++: Check Perfect Number
- C++: Check Palindrome or Not
- C++: Check Armstrong or Not
- C++: Divisibility Test
- C++: Find Labor Wage
- C++: Find Discounted Price
- C++: Find Shipping Charge
- C++: Find Telephone Bills
- C++: Calculate Student Grade
- C++: Largest of Two Numbers
- C++: Largest of Three Numbers
- C++ Number Conversion
- C++: Decimal to Binary
- C++: Decimal to Octal
- C++: Decimal to Hexadecimal
- C++: Binary to Decimal
- C++: Binary to Octal
- C++: Binary to Hexadecimal
- C++: Octal to Decimal
- C++: Octal to Binary
- C++: Octal to Hexadecimal
- C++: Hexadecimal to Decimal
- C++: Hexadecimal to Binary
- C++: Hexadecimal to Octal
- C++ Pattern Programs
- C++: Pattern Programs
- C++: Print Diamond Pattern
- C++: Print Floyd's Triangle
- C++: Print Pascal's Triangle
- C++ Array Programs
- C++: 1D Array Program
- C++: Linear Search
- C++: Binary Search
- C++: Largest Element in an Array
- C++: Smallest Element in an Array
- C++: Find Second Largest Element
- C++: Find Second Smallest Element
- C++: Sum of All Elements
- C++: Multiply All Elements
- C++: Element in Even Position
- C++: Element in Odd Position
- C++: Print Even Numbers in Array
- C++: Print Odd Numbers in Array
- C++: Count Even or Odd Numbers
- C++: Sum of Even or Odd Numbers
- C++: Count Positive, Negative, Zero
- C++: Reverse an Array
- C++: Insert an Element
- C++: Delete an Element
- C++: Merge two Arrays
- C++: Bubble Sort
- C++: Selection Sort
- C++: Insertion Sort
- C++: Common Elements
- C++: 2D Array Programs
- C++: Add Two Matrices
- C++: Subtract Two Matrices
- C++: Transpose Matrix
- C++: Multiply Two Matrices
- C++: 3D Array Programs
- C++ String Programs
- C++: Print String
- C++: Find String Length
- C++: Compare Two Strings
- C++: Copy String
- C++: String Concatenation
- C++: Reverse a String
- C++: Delete Vowels from a String
- C++: Delete a Word from a String
- C++: Count Characters in a String
- C++: Count Words in a String
- C++: Frequency of Words
- C++: Remove Spaces from Strings
- C++: Sort a String
- C++: Uppercase to Lowercase
- C++: Lowercase to Uppercase
- C++: Swap Two Strings
- C++: Check the Anagram or Not
- C++: Capitalize All Words in a String
- C++: Get Numbers from a String
- C++ File Programs
- C++: Read a File
- C++: Write Content to a File
- C++: Append Data to a File
- C++: Read and Display File
- C++: Copy a File
- C++: Merge Two Files
- Count Characters in a File
- C++: Capitalize Every Word
- C++: List Files in Directory
- C++: Delete a File
- C++: Encrypt and Decrypt a File
- C++ Misc Programs
- C++: Print ASCII Value
- C++: Add Binary Numbers
- C++: Generate Random Numbers
- C++: Print a Smiling Face
- C++: Days into Years and Months
- C++: Add Two Numbers using Pointer
- C++: Print Fibonacci Series
- C++: Generate Armstrong Numbers
- C++: Find nCr and nPr
- C++: Get IP Address
- C++: Print Date and Time
- C++: Shutdown and Restart Computer
- C++ Programming Tutorial
- C++ Tutorial
C++ Program to Extract Numbers from a String
This article provides some programs in C++ to extract all the numbers available in a string entered by the user at run-time. These are the lists of programs available in this article:
- Extract numbers from a string using a character array
- Extract numbers from a string using an integer array
Extract numbers from a string using a character array
The question is: write a program in C++ to extract and print numbers available in a string. The string must be entered by the user. The program given below is its answer:
#include<iostream> #include<stdio.h> #include<string.h> using namespace std; int main() { char str[100], num[100]; int tot, i, j=0; cout<<"Enter the String: "; gets(str); tot = strlen(str); for(i=0; i<tot; i++) { if(str[i]>='0' && str[i]<='9') { num[j] = str[i]; j++; } } cout<<endl<<"Numbers extracted from the String:"<<endl; for(i=0; i<j; i++) cout<<num[i]<<" "; cout<<endl; return 0; }
The snapshot given below shows the initial output produced by the above C++ program on extracting all the numbers available in a string entered by the user:
Now supply the input, say Hey 012, this is 394 from 329 fresherearth as a string. Press the ENTER
key to extract and print all numbers available in the string as shown in the snapshot given below:
Extract numbers from a string using an integer array
This program does the same job as the previous program, but this program uses an integer array instead of a character array to do the job.
#include<iostream> #include<stdio.h> #include<string.h> using namespace std; int main() { char str[100]; int tot, i, j=0, num[100]; cout<<"Enter the String: "; gets(str); tot = strlen(str); for(i=0; i<tot; i++) { if(str[i]>='0' && str[i]<='9') { num[j] = str[i]; num[j] = num[j] - 48; j++; } } if(j==0) cout<<"\nNumber not found in the string!"; else if(j==1) { cout<<"\nOnly one number found in the string:"; cout<<endl<<num[0]; } else { cout<<"\nAll numbers extracted from the string.\n"; cout<<"\nThe list of Numbers are:"<<endl; for(i=0; i<j; i++) cout<<num[i]<<" "; } cout<<endl; return 0; }
Here is its sample run with user input fresherearth as a string:
Here is another sample run with user input codes0123cracker9 as a string:
Note that the statement num[j] = num[j] - 48 is used in the preceding program to convert the ASCII value to its equivalent character (a number).
Note: The ASCII value of 0 is 48, 1 is 49, 2 is 50, ..., and 9 is 57. This means that you can get the number by subtracting 48 from the ASCII value.
« Previous Program Next Program »