Mnohokrát se při práci s řetězci Pythonu můžeme setkat s problémem, kdy máme obrovské množství dat a potřebujeme provést předzpracování určitého druhu. Může to být také odstranění zbloudilých znaků nového řádku v řetězcích. Pojďme diskutovat o určitých způsobech, jak lze tento úkol provést.
Odstraňte znak nového řádku z řetězce v Pythonu
Zde pokryjeme 4 různé způsoby Odebrat nový řádek z řetězce v Pythonu:
- Použití Pythonu nahradit() funkce Použití Pythonu pás() funkce Použití Pythonu splitlines() metoda Použití Pythonu re.sub() Funkce
Použijte funkci nahradit k odstranění znaku nového řádku z řetězce v Pythonu
Tento úkol lze provést hrubou silou, ve které zkontrolujeme jako řetězec v řetězci a nahradíme jej z každého řetězce pomocí smyčky. Tady, The nahradit() v Pythonu vrátí kopii řetězce, kde jsou všechny výskyty a jsou nahrazeny prázdným řetězcem.
Python3
seřadit pole java
# initialize list> test_list>=> [>'gf
g'>,>'i
s'>,>'b
est'>,>'fo
r'>,>'geeks
'>]> # printing original list> print>(>'The original list : '> +> str>(test_list))> # Removing newline character from string> # using loop> res>=> []> for> sub>in> test_list:> >res.append(sub.replace(>'
'>, ''))> # printing result> print>(>'List after newline character removal : '> +> str>(res))> |
>
>
Výstup :
The original list : ['gf g', 'i s', 'b est', 'fo r', 'geeks '] List after newline character removal : ['gfg', 'is', 'best', 'for', 'geeks']>
Použijte funkci strip() k odstranění znaku nového řádku z řetězce v Pythonu
The Krajta metoda strip(). vestavěná funkce Pythonu se používá k odstranění všech úvodních a koncových mezer z řetězce. Náš úkol lze provést pomocí strip function(), ve kterém zkontrolujeme jako řetězec v řetězci.
Python3
lis>=> '
Geeks for Geeks
'> string>=> lis.strip()> print>(string)> |
>
>
Výstup:
Geeks for Geeks>
Použijte metodu splitlines() k odstranění znaku nového řádku z řetězce v Pythonu
Krajta splitlines() metoda se používá k rozdělení čar na hranicích čar. Funkce vrací seznam řádků v řetězci včetně zalomení řádku.
Python3
def> func(value):> >return> ''.join(value.splitlines())> mystring>=> '
Geeks
for
Geeks
'> print>(>'Original string:'>, mystring)> print>(>'After deleting the new line:'>, func(mystring))> |
>
>
Výstup:
Actual string: Geeks for Geeks After deleting the new line: Geeks for Geeks>
Použijte funkci re.sub() k odstranění znaku nového řádku z řetězce v Pythonu
Tuto úlohu lze také provést pomocí funkcí regulárního výrazu Pythonu, které mohou také provést globální nahrazení všech znaků nového řádku prázdným řetězcem.
Python3
nfa na dfa
import> re> # initialize list> test_list>=> [>'gf
g'>,>'i
s'>,>'b
est'>,>'fo
r'>,>'geeks
'>]> # printing original list> print>(>'The original list : '> +> str>(test_list))> # Removing newline character from string> # Using regex> res>=> []> for> sub>in> test_list:> >res.append(re.sub(>'
'>, '', sub))> # printing result> print>(>'List after newline character removal : '> +> str>(res))> |
>
>
Výstup:
The original list : ['gf g', 'i s', 'b est', 'fo r', 'geeks '] List after newline character removal : ['gfg', 'is', 'best', 'for', 'geeks']>
Použití porozumění seznamu a metody join():
Přístup:
Rozdělte původní řetězec na seznam podřetězců pomocí metody split().
Spojte seznam podřetězců zpět do řetězce pomocí metody join() s prázdným řetězcem () jako oddělovačem.
Python3
my_string>=> 'hello
world
'> new_string>=> '>'.join(my_string.split('>
'))> print>(new_string)> |
>
>Výstup
helloworld>
Časová složitost: O(n)
Pomocný prostor: O(n)