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ørkelseProduktion
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.