Open In App

Program to replace every space in a string with hyphen

Last Updated : 05 Apr, 2023
Comments
Improve
Suggest changes
Like Article
Like
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) 

Next Article

Similar Reads