Monta kertaa työskennellessään Python-merkkijonot , meillä on ongelma, jossa meidän on poistettava tietyt merkit merkkijonoista. Tällä voi olla sovelluksia tietojen esikäsittelyssä Python .
Esimerkki
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.>
Tapoja poistaa välimerkit merkkijonosta
Välimerkit voi poistaa merkkijonosta monella tapaa, mutta tärkeimmät niistä on lueteltu alla. Joten tutkitaan niitä yksitellen. Alla on menetelmät, joita käsittelemme tässä artikkelissa:
icloud-kuvat Androidille
- Poista välimerkit merkkijonosta kääntämällä
- Poista välimerkit merkkijonosta Python-silmukalla
- Poista pilkku merkkijonosta Python-silmukalla
- Poista välimerkit merkkijonosta säännöllisellä lausekkeella
- Käytetään silmukkaa, välimerkkijonoa, ei operaattorissa
- Välimerkkien poistaminen merkkijonosta suodattimella ()
- Käytä korvaa()-menetelmää
Poista välimerkit merkkijonosta kääntämällä
Kaksi ensimmäistä argumenttia puolesta string.translate menetelmä on tyhjät merkkijonot, ja kolmas tulo on a Python lista poistettavasta välimerkistä. Tämä ohjeistaa Python-menetelmää poistamaan välimerkit merkkijonosta. Tämä on yksi niistä parhaat tavat poistaa välimerkit merkkijonosta .
Python 3
import> string> test_str>=> 'Gfg, is best: for ! Geeks ;'> test_str>=> test_str.translate> >(>str>.maketrans('>', '>', string.punctuation))> print>(test_str)> |
>
>
Lähtö:
Gfg is best for Geeks>
Poista välimerkit merkkijonosta Python-silmukalla
Tämä on raa'an voiman tapa, jolla tämä tehtävä voidaan suorittaa. Tässä tarkistamme välimerkit käyttämällä välimerkkejä sisältävää raakamerkkijonoa ja muodostamme sitten merkkijonon, joka poistaa nämä välimerkit.
Python 3
# 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)> |
>
>
Lähtö:
The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks>
Aika monimutkaisuus: Päällä)
Aputila: O(n), jossa n on merkkijonon merkkien määrä.
Poista pilkku merkkijonosta Python-silmukalla
Tämä on raaka tapa, jolla tämä tehtävä voidaan suorittaa. Tässä tarkistamme pilkun käyttämällä pilkkuja sisältävää raakamerkkijonoa ja muodostamme sitten merkkijonon, joka poistaa nämä pilkut.
Python 3
linux tiedostot
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)> |
>
>
Lähtö:
GFG is the best>
Poista välimerkit merkkijonosta säännöllisellä lausekkeella
Välimerkkien korvaava osa voidaan suorittaa myös käyttämällä regex . Tässä korvaamme kaikki välimerkit tyhjällä merkkijonolla käyttämällä tiettyä säännöllistä lauseketta.
Python 3
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)> |
>
käynnistä mysql ubuntu uudelleen
>
Lähtö:
The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks>
Käytetään silmukkaa, välimerkkijonoa, ei operaattorissa
Täällä näemme Välimerkkien poistaminen merkkijonosta silmukan + välimerkkijonon avulla.
Python 3
# 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)> |
>
>Lähtö
The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks>
Ajan ja tilan monimutkaisuus kaikille menetelmille on sama:
Aika monimutkaisuus: Päällä)
Aputila: Päällä)
Välimerkkien poistaminen merkkijonosta suodattimella ()
Filter()-menetelmä suodattaa sekvenssin elementit tietyn ehdon perusteella.
Tässä tapauksessa voimme käyttää filter()-menetelmää ja lambda-funktiota välimerkkien suodattamiseen.
c++ setti
Python 3
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> |
java tuplaantuu
>
>Lähtö
The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks>
Aika monimutkaisuus: Päällä)
Aputila: Päällä)
Välimerkkien poistaminen merkkijonosta korvaa()-menetelmällä
Tuo merkkijonomoduuli ja alusta sitten syötemerkkijono ja tulosta alkuperäinen merkkijono. Selaa jokaisen merkkijonon välimerkkivakion välimerkkiä sen jälkeen, kun se on poistanut jokaisen välimerkin syötemerkkijonosta menetelmän vaihto () avulla. ja tulosta sitten tuloksena oleva merkkijono välimerkkien poistamisen jälkeen.
Python 3
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)> |
>
>Lähtö
The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks>
Ajan monimutkaisuusanalyysi: O(len(merkkijono.välimerkit) * len(test_str)) koska for-silmukka toistuu kaikkien string.punctuation-vakion välimerkkien läpi, mikä vie O(len(string.punctuation))-ajan.
Aputilan analyysi: O(1) . Koska syöttömerkkijonoa on muokattu paikallaan, tuloksen tallentamiseen ei tarvita ylimääräistä tilaa.