Open In App

Program to replace every space in a string with hyphen

Improve
Improve
Like Article
Like
Save
Share
Report

Given a string, the task is to replace all the spaces between the words with a hyphen character ‘-‘.

Examples: 

Input: str = "Geeks for Geeks."
Output: Geeks-for-Geeks.

Input: str = "A computer science portal for geeks"
Output: A-computer-science-portal-for-geeks

Approach: 

  1. Traverse the whole string character by character.
  2. If the character is a space, replace it with the hyphen ‘-‘.

Below is the implementation of the above approach: 

C++




// C++ program to replace space with -
 
#include <cstring>
#include <iostream>
using namespace std;
 
int main()
{
 
    // Get the String
    string str = "A computer science portal for geeks";
 
    // Traverse the string character by character.
    for (int i = 0; i < str.length(); ++i) {
 
        // Changing the ith character
        // to '-' if it's a space.
        if (str[i] == ' ') {
 
            str[i] = '-';
        }
    }
 
    // Print the modified string.
    cout << str << endl;
 
    return 0;
}


Java




// Java program to replace space with -
 
class GFG
{
     
    // Function to replace Space with -
    static String replaceSpace(String str)
    {
         
        String s = "";
         
        // Traverse the string character by character.
        for (int i = 0; i < str.length(); ++i) {
     
            // Changing the ith character
            // to '-' if it's a space.
            if (str.charAt(i) == ' ')
                s += '-';
             
            else
                s += str.charAt(i);
             
        }
     
        // return the modified string.
        return s;
     
         
    }
     
     
    public static void main(String []args)
    {
     
        // Get the String
        String str = "A computer science portal for geeks";
         
        System.out.println(replaceSpace(str));
     
     
    }
 
}


Python3




# Python 3 program to replace space with -
 
# Driver Code
if __name__ == '__main__':
     
    # Get the String
    str = "A computer science portal for geeks"
     
    # Traverse the string character by character.
    for i in range(0, len(str), 1):
         
        # Changing the ith character
        # to '-' if it's a space.
        if (str[i] == ' '):
            str = str.replace(str[i], '-')
             
    # Print the modified string.
    print(str)
     
# This code is contributed by
# Surendra_Gangwar


C#




     
// C# program to replace space with -
using System;
public class GFG
{
      
    // Function to replace Space with -
    static String replaceSpace(String str)
    {
          
        String s = "";
          
        // Traverse the string character by character.
        for (int i = 0; i < str.Length; ++i) {
      
            // Changing the ith character
            // to '-' if it's a space.
            if (str[i] == ' ')
                s += '-';
              
            else
                s += str[i];
              
        }
      
        // return the modified string.
        return s;
      
          
    }
      
      
    public static void Main()
    {
      
        // Get the String
        String str = "A computer science portal for geeks";
          
        Console.Write(replaceSpace(str));
      
      
    }
  
}
// This code is contributed by 29AjayKumar


PHP




<?php
// PHP program to replace space with -
 
// Get the String
$str = "A computer science portal for geeks";
 
// Traverse the string character by character.
for ($i = 0; $i < strlen($str); ++$i)
{
 
    // Changing the ith character
    // to '-' if it's a space.
    if ($str[$i] == ' ')
    {
        $str[$i] = '-';
    }
}
 
// Print the modified string.
echo $str . "\n";
 
// This code is contributed
// by Akanksha Rai


Javascript




<script>
      // JavaScript program to replace space with -
 
      // Get the String
      var str = "A computer science portal for geeks";
 
      var newStr = str.split("");
 
      // Traverse the string character by character.
      for (var i = 0; i < newStr.length; ++i) {
        // Changing the ith character
        // to '-' if it's a space.
        if (newStr[i] === " ") {
          newStr[i] = "-";
        }
      }
 
      // Print the modified string.
      document.write(newStr.join("") + "<br>");
    </script>


Output

A-computer-science-portal-for-geeks

Complexity Analysis:

  • Time Complexity: O(N)
  • Auxiliary Space: O(1)

Method #2: Using built-in methods :

  • As all the words in a sentence are separated by spaces.
  • We have to split the sentence by spaces using built-in methods
  • We split all the words by spaces and store them in a list.
  • Join the list using ‘-‘ and store in a string
  • Print the string

Below is the implementation of the above approach:

C++




// C++ program for the above approach
#include <iostream>
#include <string>
 
using namespace std;
 
string printHyphen(string str)
{
 
  // Split by space and converting
  // String to list and
  for(int i=0; i<str.length(); i++)
  {
    if(str[i] == ' ')
      str[i] = '-';
  }
  return str;
}
 
// Driver code
int main()
{
  string str = "Text contains malayalam and level words";
  cout << printHyphen(str);
  return 0;
}
 
// This code is contributed by codebraxnzt


Java




// Java implementation of the above approach
import java.util.*;
 
class GFG
{
 
    static String printHyphen(String string)
    {
 
        // Split by space and converting
        // String to list and
        string = string.replace(' ', '-');
 
        // returning the string
        return string;
    }
 
    // Driver code
    public static void main(String[] args)
    {
        String string = "Text contains malayalam and level words";
        System.out.print(printHyphen(string));
 
    }
}
 
// This code is contributed by gauravrajput1


Python3




# Python program for the above approach
 
def printHyphen(string):
 
    # Split by space and converting
    # String to list and
    lis = list(string.split(" "))
 
    # joining the list and storing in string
    string = '-'.join(lis)
    # returning the string
    return string
 
 
# Driver code
string = "Text contains malayalam and level words"
print(printHyphen(string))
 
# This code is contributed by vikkycirus


C#




using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
 
// C# program for the above approach
class HelloWorld {
 
  public static string printHyphen(string s)
  {
 
    // Split by space and converting
    // String to list and
    string[] str = s.Split(' ');
    string res = string.Join("-", str);
 
    return res;
  }
 
  // Driver program to test above function
  static void Main() {
    string str = "Text contains malayalam and level words";
    Console.WriteLine(printHyphen(str));
  }
}
 
// The code is contributed by Nidhi goel.


Javascript




<script>
 
// JavaScript program for the above approach
 
function printHyphen(string){
 
    // Split by space and converting
    // String to list and
 
    var lis = string.split(" ")
 
    // joining the list and storing in string
 
    string =  lis.join("-");
 
    // returning the string
    return string;
    }
 
 
// Driver code
var string = "Text contains malayalam and level words";
document.write(printHyphen(string));
 
 
 
 
</script>


Output

Text-contains-malayalam-and-level-words

Complexity Analysis:

  • Time Complexity: O(n) 
  • Auxiliary Space: O(n) 


Last Updated : 05 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads