logo

Python | Noņemiet pieturzīmes no virknes

Daudzas reizes strādājot ar Python virknes , mums ir problēma, kuras dēļ mums ir jānoņem noteiktas rakstzīmes no virknēm. Tam var būt lietojumprogrammas datu pirmapstrādei Python .

Piemērs



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

Veidi, kā noņemt pieturzīmes no virknes

Var būt daudz veidu, kā noņemt pieturzīmes no virknes, bet galvenie ir norādīti tālāk. Tāpēc izpētīsim tos pa vienam. Tālāk ir norādītas metodes, kuras mēs apskatīsim šajā rakstā:

direktorijā Linux komandās
  • Noņemiet pieturzīmes no virknes, izmantojot tulkotāju
  • Noņemiet pieturzīmes no virknes, izmantojot Python cilpu
  • Noņemiet komatu no virknes, izmantojot Python cilpu
  • Noņemiet pieturzīmes no virknes, izmantojot regulāro izteiksmi
  • Tiek izmantota cilpa, pieturzīmju virkne, nevis operatorā
  • Pieturzīmju noņemšana no virknes, izmantojot filtru ()
  • Izmantojot aizvietošanas () metodi

Noņemiet pieturzīmes no virknes, izmantojot tulkotāju

Pirmie divi argumenti par string.translate metode ir tukšas virknes, un trešā ievade ir a Python saraksts pieturzīmes, kas jānoņem. Tas uzdod Python metodei svītrot virknē pieturzīmes. Šis ir viens no labākie veidi, kā noņemt virknes pieturzīmes .

Python3








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

>

>

Izvade:

Gfg is best for Geeks>

Noņemiet pieturzīmes no virknes, izmantojot Python cilpu

Šis ir brutālā spēka veids, kā šo uzdevumu var veikt. Šajā gadījumā mēs pārbaudām pieturzīmes, izmantojot neapstrādātu virkni, kurā ir pieturzīmes, un pēc tam izveidojam virkni, noņemot šīs pieturzīmes.

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)>

>

>

Izvade:

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

Laika sarežģītība: O(n)
Palīgtelpa: O(n), kur n ir rakstzīmju skaits virknē.

Noņemiet komatu no virknes ar Python cilpu

Tas ir brutāls veids, kā šo uzdevumu var veikt. Šajā gadījumā mēs pārbaudām komatu, izmantojot neapstrādātu virkni, kas satur komatus, un pēc tam izveidojam virkni, noņemot šos komatus.

anotācijas pavasara zābakā

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)>

>

>

Izvade:

GFG is the best>

Noņemiet pieturzīmes no virknes, izmantojot regulāro izteiksmi

Pieturzīmju aizstāšanas daļu var izpildīt arī izmantojot regex . Šajā gadījumā visas pieturzīmes aizstājam ar tukšu virkni, izmantojot noteiktu regulāro izteiksmi.

Python3




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)>

mašīnas valoda

>

>

Izvade:

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

Tiek izmantota cilpa, pieturzīmju virkne, nevis operatorā

Šeit mēs redzēsim pieturzīmju noņemšana virknē, izmantojot cilpu + pieturzīmju virkni.

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)>

>

>

Izvade

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

Laika un telpas sarežģītība visām metodēm ir vienāda:

kas ir java hashset

Laika sarežģītība: O(n)
Palīgtelpa: O(n)

Pieturzīmju noņemšana no virknes, izmantojot filtru ()

Filtra() metode filtrē secības elementus, pamatojoties uz noteiktu nosacījumu.
Šajā gadījumā mēs varam izmantot filtru () metodi un lambda funkciju, lai filtrētu pieturzīmes.

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>

>

>

Izvade

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

Laika sarežģītība: O(n)
Palīgtelpa: O(n)

Pieturzīmju noņemšana no virknes, izmantojot aizvietošanas () metodi

Importējiet virknes moduli, pēc tam inicializējiet ievades virkni un izdrukājiet sākotnējo virkni. Pārejiet cauri katrai pieturzīmes rakstzīmei virknes pieturzīmju konstantē pēc tam, kad ir izmantota aizstājēj() metode, lai noņemtu katru pieturzīmes rakstzīmi no ievades virknes. un pēc pieturzīmju noņemšanas izdrukājiet iegūto virkni.

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 ievades virkne
Izvade

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

Laika sarežģītības analīze: O(len(string.pieturzīmes) * len(test_str)) kā cilpa for atkārtojas cauri visām pieturzīmju rakstzīmēm string.pieturzīmju konstantē, kas aizņem O(len(string.punctuation)) laiku.

Papildtelpas analīze: O(1) . Tā kā ievades virkne ir modificēta vietā, tāpēc rezultāta glabāšanai nav nepieciešama papildu vieta.