Removing punctuations from a given string


Given a string, remove the punctuation from the string if the given character is a punctuation character as classified by the current C locale. The default C locale classifies these characters as punctuation:

!"#$%&'()*+,-./:;?@[\]^_`{|}~ 

Examples:

Input : %welcome' to @geeksforgeek<s
Output : welcome to geeksforgeeks

Input : Hello!!!, he said ---and went.
Output : Hello he said and went



A loop is designed that goes through a list composed of the characters and punctuations of that string, removes the punctuation and then joins them.

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to remove punctuation from a given string
  
#include <iostream>
using namespace std;
  
int main() 
{
    // input string
    std::string str = "Welcome???@@##$ to#$% Geeks%$^for$%^&Geeks";
  
    for (int i = 0, len = str.size(); i < len; i++)
    {
        // check whether parsing character is punctuation or not
        if (ispunct(str[i]))
        {
            str.erase(i--, 1);
            len = str.size();
        }
    }
      
    // print string without punctuation
    std::cout << str;
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to remove punctuation from a given string
  
public class Test
{
    public static void main(String[] args)
    {
        // input string
        String str = "Welcome???@@##$ to#$% Geeks%$^for$%^&Geeks";
          
        // similar to Matcher.replaceAll
        str = str.replaceAll("\\p{Punct}","");
          
        System.out.println(str);
    }
      
}
// This code is contributed by Gaurav Miglani

chevron_right


Python

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to remove punctuation from a given string
# Function to remove punctuation
def Punctuation(string):
  
    # punctuation marks
    punctuations = '''!()-[]{};:'"\,<>./?@#$%^&*_~'''
  
    # traverse the given string and if any punctuation
    # marks occur replace it with null
    for x in string.lower():
        if x in punctuations:
            string = string.replace(x, "")
  
    # Print string without punctuation
    print(string)
  
# Driver program
string = "Welcome???@@##$ to#$% Geeks%$^for$%^&Geeks"
Punctuation(string)

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to remove punctuation 
// from a given string 
using System;
using System.Text.RegularExpressions;                 
  
class GFG 
public static void Main() 
    // input string 
    String str = "Welcome???@@##$ to#$% Geeks%$^for$%^&Geeks"
      
    // similar to Matcher.replaceAll 
    str = Regex.Replace(str,@"[^\w\d\s]",""); 
      
    Console.Write(str); 
  
// This code is contributed
// by 29AjayKumar

chevron_right


Output:

Welcome to GeeksforGeeks

This article is contributed by Pramod Kumar. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



My Personal Notes arrow_drop_up

Improved By : 29AjayKumar



Article Tags :
Practice Tags :


7


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.