Virknes ir datu tipi, ko izmanto teksta/rakstzīmju attēlošanai. Šajā rakstā mēs piedāvājam dažādas metodes i noņemšanas problēmaithrakstzīmi no virknes un runāt par iespējamiem risinājumiem, ko var izmantot, lai tos sasniegtu, izmantojot Python.
Input: 'Geeks123For123Geeks' Output: GeeksForGeeks Explanation: In This, we have removed the '123' character from a string.>
Noņemiet rakstzīmes no virknes Python
Šīs ir šādas metodes, ar kurām mēs varam noņemt burtus no virknes Python :
- Izmantojot str.aizvietot()
- Izmantojot tulkot ()
- Izmantojot rekursija
- Vietējās metodes izmantošana
- Izmantojot šķēli + savienošanu
- Izmantojot str.join()
- Izmantojot bytearray
- Izmantojot noņemt prefiksu ()
Noņemiet rakstzīmes no virknes, izmantojot aizstāt()
str.aizvietot() var izmantot, lai aizstātu visus vajadzīgās rakstzīmes gadījumus. To var izmantot arī, lai veiktu rakstzīmju noņemšanas uzdevumu no virknes, jo mēs varam aizstāt konkrēto indeksu ar tukšu rakstzīmi un tādējādi atrisināt problēmu.
Python3
# Initializing String> test_str>=> 'GeeksForGeeks'> # Removing char at pos 3> # using replace> new_str>=> test_str.replace(>'e'>, '')> # Printing string after removal> # removes all occurrences of 'e'> print>(>'The string after removal of i'th character( doesn't work) : '> +> new_str)> # Removing 1st occurrence of s, i.e 5th pos.> # if we wish to remove it.> new_str>=> test_str.replace(>'s'>, '',>1>)> # Printing string after removal> # removes first occurrences of s> print>(>'The string after removal of i'th character(works) : '> +> new_str)> |
>
mašīnraksts katram
>Izvade
The string after removal of i'th character( doesn't work) : GksForGks The string after removal of i'th character(works) : GeekForGeeks>
Laika sarežģītība: O(n)
Kosmosa sarežģītība: O(n)
Šķērslis: Lielākais trūkums, izmantojot aizstājēju (), ir tas, ka tas neizdodas gadījumos, kad virknē ir dublikāti, kas atbilst zīmei poz. i. aizstāt() aizstāj visus konkrētas rakstzīmes gadījumus un tādējādi aizstātu visus i pozīcijā esošo rakstzīmju gadījumus. Mēs joprojām varam dažreiz izmantot šo funkciju, ja aizstājošā rakstzīme ir 1stlaiks virknē.
Noņemiet konkrēto rakstzīmi no virknes, izmantojot Translate()
Šī metode nodrošina spēcīgu mehānismu rakstzīmju noņemšanai no virknes. Izmantojot šo metodi, mēs noņēmām 123 no techcodeview.com, izmantojot string.translate() .
Python3
str> => 'Geeks123For123Geeks'> > print>(>str>.translate({>ord>(i):>None> for> i>in> '123'>}))> |
>
>
Izvade
GeeksForGeeks>
Laika sarežģītība: O(n)
Kosmosa sarežģītība: O(m)
Izmantojot rekursiju, noņemiet no virknes konkrēto rakstzīmi
Lai noņemtu i-to rakstzīmi no virknes, izmantojot rekursiju, varat definēt rekursīvu funkciju, kas ņem virkni un indeksu, kas jānoņem kā argumenti. Funkcija pārbaudīs, vai indekss ir vienāds ar 0, šajā gadījumā tā atgriež virkni ar noņemtu pirmo rakstzīmi. Ja indekss nav 0, funkcija var atgriezt virknes pirmo rakstzīmi, kas ir savienota ar funkcijas atkārtotas izsaukšanas rezultātu virknē ar indeksu, kas samazināts par 1.
Python3
def> remove_ith_character(s, i):> ># Base case: if index is 0,> ># return string with first character removed> >if> i>=>=> 0>:> >return> s[>1>:]> ># Recursive case: return first character> ># concatenated with result of calling function> ># on string with index decremented by 1> >return> s[>0>]>+> remove_ith_character(s[>1>:], i>-> 1>)> # Test the function> test_str>=> 'GeeksForGeeks'> new_str>=> remove_ith_character(test_str,>2>)> print>(>'The string after removal of ith character:'>, new_str)> # This code is contributed by Edula Vinay Kumar Reddy> |
>
>
Izvade
The string after removal of ith character: GeksForGeeks>
Laika sarežģītība: O(n)
Kosmosa sarežģītība: O(n)
Noņemiet burtus no virknes, izmantojot vietējo metodi
Izmantojot šo metodi, vienkārši jāpalaiž a Python cilpa un pievienojiet rakstzīmes, kad tās parādās, un izveidojiet jaunu virkni no esošās, izņemot gadījumus, kad rādītājs ir i.
Python3
test_str>=> 'GeeksForGeeks'> # Removing char at pos 3> new_str>=> ''> for> i>in> range>(>len>(test_str)):> >if> i !>=> 2>:> >new_str>=> new_str>+> test_str[i]> # Printing string after removal> print> (>'The string after removal of i'th character : '> +> new_str)> |
>
>Izvade
The string after removal of i'th character : GeksForGeeks>
Laika sarežģītība: O(n)
Kosmosa sarežģītība: O(n), kur n ir virknes garums.
Noņemiet ithRakstzīme no virknes, izmantojot šķēli
Var izmantot auklas šķēle un sagrieziet virkni pirms pozīcijas i un sagrieziet pēc pozīcijas i. Pēc tam izmantojot stīgu savienošana no abiem, t.ithvar šķist, ka no virknes ir dzēsta rakstzīme.
Python3
# Initializing String> test_str>=> 'GeeksForGeeks'> # Removing char at pos 3> # using slice + concatenation> new_str>=> test_str[:>2>]>+> test_str[>3>:]> # Printing string after removal> # removes ele. at 3rd index> print> (>'The string after removal of i'th character : '> +> new_str)> |
pyspark sql
>
>Izvade
The string after removal of i'th character : GeksForGeeks>
Laika sarežģītība: O(n)
Kosmosa sarežģītība: O(n)
Noņemiet ithRakstzīme no virknes, izmantojot str.join()
Izmantojot šo metodi, katrs virknes elements vispirms tiek pārveidots par katru saraksta elementu, un pēc tam katrs no tiem tiek savienots, lai izveidotu virkni, izņemot norādīto indeksu.
Python3
# Initializing String> test_str>=> 'GeeksForGeeks'> # Removing char at pos 3> # using join() + list comprehension> new_str>=> ''.join([test_str[i]>for> i>in> range>(>len>(test_str))>if> i !>=> 2>])> # Printing string after removal> # removes ele. at 3rd index> print> (>'The string after removal of i'th character : '> +> new_str)> |
>
>Izvade
The string after removal of i'th character : GeksForGeeks>
Laika sarežģītība: O(n)
Kosmosa sarežģītība: O(n)
Izdzēsiet burtus no virknes Python, izmantojot bytearray
Definējiet funkciju remove_char(s, i), kas kā ievadi izmanto virkni s un veselu skaitli i. Un pēc tam pārveidojiet ievades virkni s par baitu masīvu, izmantojot baitu masīvu(s, “utf-8”). Izdzēsiet i’th elementu no bytearray izmantojot del b[i]. Pārveidojiet modificēto bytearray atpakaļ par virkni, izmantojot b.decode() un atgrieziet modificēto virkni.
Python3
def> remove_char(s, i):> >b>=> bytearray(s,>'utf-8'>)> >del> b[i]> >return> b.decode()> # Example usage> s>=> 'hello world'> i>=> 4> s>=> remove_char(s, i)> print>(s)> |
>
pirmskaitlis Java
>
Izvade
hell world>
Laika sarežģītība: O(n)
Kosmosa sarežģītība: O(n)
Noņemiet burtus no virknes, izmantojot removeprefix()
noņemt prefiksu () noņem prefiksu un atgriež pārējo virkni. Mēs varam noņemt burtus no virknes jebkuram konkrētam rādītājam, sadalot virkni divās daļās tā, lai burts, kuru vēlējāmies noņemt, nonāktu jebkura no diviem nodalījumiem prefiksā, un pēc tam mēs varam izmantot burta noņemšanas metodi.
Python3
#initializing the string> s>=>'techcodeview.com'> #if you wanted to remove 'G' of 0th index> s1>=>s.removeprefix(>'G'>)> #if you wanted to remove 'f'> s2>=>s[:>5>]>+>s[>5>:].removeprefix(>'f'>)> print>(s1)> print>(s2)> |
>
>
Izvade:
eeksforGeeks GeeksorGeeks>
Laika sarežģītība: O(n)
Kosmosa sarežģītība: O(n)