Removing newline character from string in Python
When working with text data, newline characters (\n
) are often encountered especially when reading from files or handling multi-line strings. These characters can interfere with data processing and formatting. In this article, we will explore different methods to remove newline characters from strings in Python.
Using str.replace()
str.replace()
method
is the most simple and efficient way to remove all newline characters from a string. It replaces every occurrence \n
with an empty string.
s = "Python\nWith\nGFG"
cleaned_text = s.replace("\n", "")
print(cleaned_text)
Output
PythonWithGFG
Explanation:
- Here
replace() is used
to replace\n
with an empty string. - It removes all newline characters in one operation.
Let's see some more methods to remove newline characters from string in Python.
Table of Content
Using str.splitlines()
and str.join()
This method splits the string into a list of lines and then joins them back without newline characters.
a = "Python\nWith\nGFG"
cleaned_text = "".join(a.splitlines())
print(cleaned_text)
Output
PythonWithGFG
Explanation:
splitlines()
splits the stringtext
into a list of lines.join()
takes this list and concatenates its elements, adding no separator (""
) between them.- We get a single string without newline characters.
Using List Comprehension
List comprehension iterates through each character in the string, filtering out newline characters.
s = "Python\nWith\nGFG"
cleaned_text = "".join([char for char in s if char != "\n"])
print(cleaned_text)
Output
PythonWithGFG
Explanation:
- The list comprehension creates a new list containing all characters in
text
except\n
. - The
join()
method concatenates these characters into a single string.
Using Regular Expressions (re.sub()
)
Regular expressions allow us to find and replace patterns in text. The re.sub()
function can match newline characters and remove them.
import re
s = "Python\nWith\nGFG"
cleaned_text = re.sub(r"\n", "", s)
print(cleaned_text)
Output
PythonWithGFG
Explanation:
- The
re.sub()
function looks for all matches of the pattern\n
intext
. - It replaces each match with an empty string.
- The resulting string,
cleaned_text
, no longer contains newlines.