How to Check if String Contains a Newline in Python

How to Check if String Contains a Newline in Python

In python, the '\n' character represents a new line.

This tutorial will unveil different ways to check if a string contains a new line.

Let's get started.

Check if a string contains newlines using the 'in' operator

With the 'in' operator, we can check for a specified value in a string. However, this method returns True if the value exists. Otherwise, returns False.

Syntax

'\n' in my_string

Example

We'll check for a new line in the string using the  '\n' operator in the following example.

# String
my_string = '''
Python is an interpreted high-level general-purpose programming language. 
Its design philosophy emphasizes code readability with its use of significant indentation.
'''

# Check if Newline exists in my_string
print('\n' in my_string)

Output:

True

The output is True that's means my_string contains a new line.

Now, let's remove all new lines from the string and see the output.

# String
my_string = '''Python is an interpreted high-level general-purpose programming language. Its design philosophy emphasizes code readability with its use of significant indentation.'''

# Check if Newline is exists on my_string
print('\n' in my_string)

Output:

False

"Do something" example

If you want to do something after checking, see the following example:

# String
my_string = '''
Python is an interpreted high-level general-purpose programming language. 
Its design philosophy emphasizes code readability with its use of significant indentation.
'''

if '\n' in my_string:
    # Do something
    print(True)
else:
    # Do something
    print(False)

Output:

True

Check if a string contains newlines using Regex

we can also use Regex to check if a string contains a newline.

Syntax

# search function
re.search('\n', my_string)

# findall function
re.findall('\n', my_string)

search() function

search() returns the object if there is a match. Otherwise, it returns None.

This function will be helpful when you want to get the position of the first newline.

import re

# String
my_string = '''
Python is an interpreted high-level general-purpose programming language. 
Its design philosophy emphasizes code readability with its use of significant indentation.
'''

# Search Newlines on my_string
regex = re.search('\n', my_string)

# Result
print(regex)

Output:

<re.Match object; span=(0, 1), match='\n'>

findall() function

findall() Returns a list of all matches; otherwise, it returns an empty list.

 

import re

# String
my_string = '''
Python is an interpreted high-level general-purpose programming language. 
Its design philosophy emphasizes code readability with its use of significant indentation.
'''

# Find Newlines on my_string using findall()
regex = re.findall('\n', my_string)

# Result
print(regex)

Output:

['\n', '\n', '\n']

As you can see, the program found 3 new lines in my_string.