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