C Program to Replace All Occurrence of a Character in a String

Write a C Program to Replace All Occurrence of a Character in a String with example.

C Program to Replace All Occurrence of a Character in a String Example

This program allows the user to enter a string (or character array), and a character value. Next, it will search and replace all occurrences of a character inside a string.

#include <stdio.h>
#include <string.h>

int main()
{
char str[100], ch, Newch;
int i;

printf("\n Please Enter any String : ");
gets(str);

printf("\n Please Enter the Character that you want to Search for : ");
scanf("%c", &ch);

getchar();

printf("\n Please Enter the New Character : ");
scanf("%c", &Newch);

for(i = 0; i <= strlen(str); i++)
{
if(str[i] == ch)
{
str[i] = Newch;
}
}

printf("\n The Final String after Replacing All Occurrences of '%c' with '%c' = %s ", ch, Newch, str);

return 0;
}
C Program to Replace All Occurrence of a Character in a String 1

First we used For Loop to iterate each and every character in a String.

for(i = 0; i < strlen(str); i++)
{
	if(str[i] == ch)  
	{
		str[i] = Newch;  	
	}
}

str[] = Hello
ch = l
Newch = @

For Loop First Iteration: for(i = 0; i < strlen(str); i++)

Within the C Programming While Loop, we used If Statement to check whether the str[0] is equal to the user specified character or not

if(str[i] == ch) => if(H == l) – condition is false. So, i value will be incremented.

Second Iteration: for(i = 1; 1 < 5; 1++)

if(str[i] == ch) => if(e == l) – condition is false. So, i will increment

Third Iteration: for(i = 2; 2 < 5; 2++)
if(str[i] == ch) => if(l == l) – condition is True
str[i] = Newch
str[2] = @

Fourth Iteration: for(i = 3; 3 < 5; 3++)
if(str[i] == ch) => if(l == l) – condition is True
str[i] = Newch
str[3] = @

Fifth Iteration: for(i = 4; 4 < 5; 4++)
if(str[i] == ch) => if(0 == l) – condition is False.
str[i] = Newch
str[3] = @
The above condition is false.

Next, we used the printf statement to print the final string.

printf("\n The Final String after Replacing All Occurrences of '%c' with '%c' = %s ", ch, Newch, str);

C Program to Replace All Occurrence of a Character in a String Example 2

This program to replace all character occurrences is the same as above. Here, we just replaced the For Lop with While Loop.

#include <stdio.h>
#include <string.h>

int main()
{
char str[100], ch, Newch;
int i = 0;

printf("\n Please Enter any String : ");
gets(str);

printf("\n Please Enter the Character that you want to Search for : ");
scanf("%c", &ch);

getchar();

printf("\n Please Enter the New Character : ");
scanf("%c", &Newch);

while(str[i] != '\0')
{
if(str[i] == ch)
{
str[i] = Newch;
}
i++;
}

printf("\n The Final String after Replacing All Occurrences of '%c' with '%c' = %s ", ch, Newch, str);

return 0;
}
 Please Enter any String :  tutorial gateway

 Please Enter the Character that you want to Search for :  t

 Please Enter the New Character :  $

 The Final String after Replacing All Occurrences of 't' with '$' = $u$orial ga$eway

C Program to Replace All Occurrence of a Character in a String Example 3

This program to replace all character occurrences is the same as the first example. However, this time, we used the Functions concept to separate the logic.

#include <stdio.h>
#include <string.h>

void Replace_AllOccurrence(char *str, char ch, char Newch);

int main()
{
char str[100], ch, Newch;
int i = 0;

printf("\n Please Enter any String : ");
gets(str);

printf("\n Please Enter the Character that you want to Replace : ");
scanf("%c", &ch);

getchar();

printf("\n Please Enter the New Character : ");
scanf("%c", &Newch);

Replace_AllOccurrence(str, ch, Newch);

printf("\n The Final String after Replacing All Occurrences of '%c' with '%c' = %s ", ch, Newch, str);

return 0;
}

void Replace_AllOccurrence(char *str, char ch, char Newch)
{
int i;

for(i = 0; str[i] != '\0'; i++)
{
if(str[i] == ch)
{
str[i] = Newch;
}
}
}
 Please Enter any String :  Welcome to c programming examples

 Please Enter the Character that you want to Replace :  m

 Please Enter the New Character :  #

 The Final String after Replacing All Occurrences of 'm' with '#' = Welco#e to c progra##ing exa#ples