logo

Python | Poista välimerkit merkkijonosta

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.