Remove multiple whitespaces by single space in a python list
Question:
In Python, I have a list like ["HELLO MR GOOD SOUL"]
. How can I replace multiple spaces with a single space, to get ["HELLO MR GOOD SOUL"]
?
Answers:
You can use re.sub
with a regular expression for this:
s = "HELLO MR GOOD SOUL"
re.sub(r"s+", " ", s)
s
is whitespace, +
means one or more. Since Regex is greedy by default, the pattern s+
will match as many consecutive spaces as possible.
The output:
'HELLO MR GOOD SOUL'
If you actually have a list of strings, you can do a simple list comprehension:
list_of_strings = [...]
[re.sub(r"s+", " ", s) for s in list_of_strings]
If you want to do it in-place:
for idx, s in enumerate(list_of_strings):
list_of_strings[idx] = re.sub(r"s+", " ", s)
In Python, I have a list like ["HELLO MR GOOD SOUL"]
. How can I replace multiple spaces with a single space, to get ["HELLO MR GOOD SOUL"]
?
You can use re.sub
with a regular expression for this:
s = "HELLO MR GOOD SOUL"
re.sub(r"s+", " ", s)
s
is whitespace, +
means one or more. Since Regex is greedy by default, the pattern s+
will match as many consecutive spaces as possible.
The output:
'HELLO MR GOOD SOUL'
If you actually have a list of strings, you can do a simple list comprehension:
list_of_strings = [...]
[re.sub(r"s+", " ", s) for s in list_of_strings]
If you want to do it in-place:
for idx, s in enumerate(list_of_strings):
list_of_strings[idx] = re.sub(r"s+", " ", s)