logo

Python | Fjern tegnsætning fra streng

Mange gange, mens du arbejder med Python strenge , har vi et problem, hvor vi skal fjerne visse tegn fra strenge. Dette kan have applikationer i dataforbehandling i Python .

Eksempel

  Input:   'Gfg, is best: for ! Geeks ;'   Output:   Gfg is best for Geeks    Explanation:   Here we can observe the difference between input and output we removed all the punctuation from the input and the ways to this is listed below to do that.>

Måder at fjerne tegnsætning fra en streng

Der kan være mange måder at fjerne tegnsætningen fra en streng på, men de vigtigste er anført nedenfor. Så lad os udforske dem én efter én. Nedenfor er de metoder, vi vil dække i denne artikel:



heal tool gimp
  • Fjern tegnsætning fra en streng med Oversæt
  • Fjern tegnsætning fra en streng med en Python-løkke
  • Fjern komma fra en streng med en Python-løkke
  • Fjern tegnsætning fra en streng med regex
  • Bruges til loop, tegnsætningsstreng og ikke i operator
  • Fjernelse af tegnsætning fra en streng med filter()
  • Brug af replace() metoden

Fjern tegnsætning fra en streng med Oversæt

De to første argumenter for string.translate metoden er tomme strenge, og den tredje input er en Python liste af tegnsætningen, der skal fjernes. Dette instruerer Python-metoden til at fjerne tegnsætning fra en streng. Dette er en af ​​de bedste måder at fjerne tegnsætning fra en streng .

Python3




import> string> test_str>=> 'Gfg, is best: for ! Geeks ;'> test_str>=> test_str.translate> >(>str>.maketrans('>', '>', string.punctuation))> print>(test_str)>

>

>

Produktion:

Gfg is best for Geeks>

Fjern tegnsætning fra en streng med en Python-løkke

Dette er den brute-force måde, hvorpå denne opgave kan udføres. I dette kontrollerer vi for tegnsætningerne ved hjælp af en rå streng, der indeholder tegnsætninger, og derefter konstruerer vi en streng, der fjerner disse tegnsætninger.

Python3




# initializing string> test_str>=> 'Gfg, is best : for ! Geeks ;'> # printing original string> print>(>'The original string is : '> +> test_str)> # initializing punctuations string> punc>=> '''!()-[]{};:'',./?@#$%^&*_~'''> # Removing punctuations in string> # Using loop + punctuation string> for> ele>in> test_str:> >if> ele>in> punc:> >test_str>=> test_str.replace(ele, '')> # printing result> print>(>'The string after punctuation filter : '> +> test_str)>

>

>

Produktion:

mysql indsæt i
The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks>

Tidskompleksitet: På)
Hjælpeplads: O(n), hvor n er antallet af tegn i strengen.

Fjern komma fra en streng med en Python-løkke

Dette er den brutale måde, hvorpå denne opgave kan udføres. I dette kontrollerer vi for kommaet ved hjælp af en rå streng, der indeholder kommaer, og derefter konstruerer vi en streng, der fjerner disse kommaer.

Python3




def> remove_commas(string):> >result>=> ''> >for> char>in> string:> >if> char !>=> ','>:> >result>+>=> char> >return> result> > input_string>=> 'GFG, is, the, best.'> output_string>=> remove_commas(input_string)> print>(output_string)>

>

>

Produktion:

GFG is the best>

Fjern tegnsætning fra en streng med regex

Den del af udskiftning af tegnsætning kan også udføres vha regex . I dette erstatter vi al tegnsætning med en tom streng ved hjælp af et bestemt regex.

Python3


ryd npm cache



import> re> # initializing string> test_str>=> 'Gfg, is best : for ! Geeks ;'> # printing original string> print>(>'The original string is : '> +> test_str)> # Removing punctuations in string> # Using regex> res>=> re.sub(r>'[^ws]'>, '', test_str)> # printing result> print>(>'The string after punctuation filter : '> +> res)>

>

>

Output:

The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks>

Bruges til loop, tegnsætningsstreng og ikke i operator

Her vil vi se Fjernelse af tegnsætninger i streng ved hjælp af loop + tegnsætningsstreng.

Python3




# initializing string> test_str>=> 'Gfg, is best : for ! Geeks ;'> # printing original string> print>(>'The original string is : '> +> test_str)> # initializing punctuations string> punc>=> '''!()-[]{};:'',./?@#$%^&*_~'''> res>=>' '> for> ele>in> test_str:> >if> ele>not> in> punc:> >res>+>=>ele> > # printing result> print>(>'The string after punctuation filter : '> +> res)>

>

>

intelligent idé vs formørkelse
Produktion

The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks>

Tids- og rumkompleksiteten for alle metoderne er den samme:

Tidskompleksitet: På)
Hjælpeplads: På)

Fjernelse af tegnsætning fra en streng med filter()

Filter()-metoden filtrerer elementerne i en sekvens baseret på en given betingelse.
I dette tilfælde kan vi bruge filter()-metoden og en lambda-funktion til at bortfiltrere tegnsætningstegn.

Python3




def> remove_punctuation(test_str):> # Using filter() and lambda function to filter out punctuation characters> >result>=> ''.join(>filter>(>lambda> x: x.isalpha()>or> x.isdigit()>or> x.isspace(), test_str))> >return> result> test_str>=> 'Gfg, is best : for ! Geeks ;'> print>(>'The original string is : '> +> test_str)> result>=> remove_punctuation(test_str)> print>(>'The string after punctuation filter : '> +> result)> #This code is contributed by Edula Vinay Kumar Reddy>

>

>

Produktion

The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks>

Tidskompleksitet: På)
Hjælpeplads: På)

Fjernelse af tegnsætning fra en streng ved hjælp af replace() metoden

Importer strengmodulet, initialiser derefter inputstrengen og udskriv den originale streng. Gå gennem hvert tegnsætningstegn i strengens tegnsætningskonstanten, efter at den bruger metoden replace() til at fjerne hvert tegnsætningstegn fra inputstrengen. og udskriv derefter den resulterende streng efter at have fjernet tegnsætninger.

Python3




import> string> # initializing string> test_str>=> 'Gfg, is best : for ! Geeks ;'> # printing original string> print>(>'The original string is : '> +> test_str)> # Removing punctuations using replace() method> for> punctuation>in> string.punctuation:> >test_str>=> test_str.replace(punctuation, '')> # printing result> print>(>'The string after punctuation filter : '> +> test_str)>

>

java enums

>

Produktion

The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks>

Tidskompleksitetsanalyse: O(len(streng.tegnsætning) * len(test_str)) da for-løkken itererer gennem alle tegnsætningstegnene i string.punctuation-konstanten, hvilket tager O(len(string.punctuation)) tid.

Auxiliary Space Analyse: O(1) . Fordi inputstrengen er ændret på plads, så der kræves ingen ekstra plads til at gemme resultatet.