Python .strip method not working

strip python
how to strip a list in python
python strip whitespace
python rstrip not working
python strip not removing characters
strip words from string python
python replace
python strip trailing characters

I have a function that begins like this:

def solve_eq(string1):
    string1.strip(' ')
    return string1

I'm inputting the string '1 + 2 * 3 ** 4' but the return statement is not stripping the spaces at all and I can't figure out why. I've even tried .replace() with no luck.

Strip does not remove whitespace everywhere, only at the beginning and end. Try this:

def solve_eq(string1):
    return string1.replace(' ','')

Using strip() in this case is redundant (obviously, thanks commentators!).

P.s. Bonus helpful snippet before I take my SO break (thanks OP!):

import re
a_string = re.sub(' +', ' ', a_string).strip()

python, Why the kivy file doesn't work?!! Member Avatar why the output doesn't contain all that URL links? Member Avatar Character handling problem! (  2. str.strip () removes characters from the beginning of the line or the end of the line only. It does not modify those in between, so instances of the substring situated elsewhere in the string will not be removed. Also, str.strip () removes any of the characters in the given string, not the actual string.

Strip doesn't change the original string since strings are immutable. You should set a return value to the stripped string or just return the stripped string.

Option 1

def solve_eq(string1):
    string1 = string1.replace(' ', '')
    return string1

Option 2

def solve_eq(string1):
    return string1.replace(' ', '')

edit: instead of string1.strip(' '), use string1.replace(' ', '')

[Tutor] String method "strip()" not working, [Tutor] String method "strip()" not working. Dave Angel davea at davea.name. Sat Mar 7 16:07:24 CET 2015. Previous message (by thread): [Tutor] String method  First, you are not assigning the strip variable to anything, second you are trying to do this in a return. The return should only have the variables you wish to return to be used in another function. You can print from this function, but your return statement should not have any activity, only the variable to be returned.

strip returns the stripped string; it does not modify the original string.

The Python String strip() Function, Note that this method does not change the original value of the string, i.e. it does These methods work exactly the same way as the String.strip() method, but  Strings are immutable. Strip does not modify the string but creates a new, stripped string. Edit: Oh yes, and also use replace, not strip for characters in the middle of the string. – tobias_k Jul 22 '17 at 21:19. 1. Try s = s.replace ('x', '') – cs95 Jul 22 '17 at 21:19. add a comment. |.

Python String, strip() in-built function of Python is used to remove all the leading and trailing When the remove string does not match then no modification is made to the original string. The below code displays the working of strip() in various conditions. strip () method with chars doesn't seem to work. ZZMike. 5 Years Ago. This is Python 3.4.2. The documentation says that. s2 = s1.strip('a') will strip out all the 'a' in s1. When I run it, only the leftmost character - and only if it is 'a' - is stripped. The default s2 = s1.strip () takes out all whitespace.

Python string, strip() is an inbuilt function in Python programming language that returns a copy of the string with both leading and trailing characters Working of above code : Python Program to demonstrate use of strip() method without any arguement. I'm using Python 2.3.5 and when I type the following in the interactive prompt I see that strip() is not working as advertised: s = 'p p:p' s.strip(' :') 'p p:p' Is this just me or does it not work? I want to get rid of all ' ' and ':' in the string. I've checked the doc and from what I can tell this is what strip() is supposed to do. Thanks

Python String strip() method, The strip() method returns a copy of the string by removing both the leading and the trailing If the chars argument is not provided, all leading and trailing whitespaces are removed from the string. Example: Working of the strip() method. Python String strip() method The strip() method returns a copy of the string by removing both the leading and the trailing characters (based on the string argument passed). The strip() method removes characters from both left and right based on the argument (a string specifying the set of characters to be removed).

Comments
  • Strings are immutable so don't expect anything to act on them in-place. Use the return value of string1.strip().
  • I need to further modify the string, so could I do something like string2 = string1.strip (' ') ?
  • Try it. (That was exactly my point). You can also rebind string1 = string1.strip(' ').
  • Sweet, thanks so much!
  • strip will not do what you want. strip removes trailing and leading whitespace. This is simply a matter of string immutability and using string1.replace(' ', '') to solve this problem.
  • +1 Why the downvotes here? This is a valid answer to OP's question. Although you don't need .strip() in this case.
  • Not the downvoter, but I have a feeling the motivation behind the downvoting is probably some folks here think this should not be answered. At least from my experience that seems to be the pattern with overall situations like this.
  • LOL yeah, I'm going on a SO break, tried to help people who post extremely ambiguous questions to help in all cases, and now this takes the biscuit. I'll be back.
  • I'm one of the downvoters. Don't take this personally, and most certainly don't give up on SO. The reason I downvoted the answer is that OP has a very fundamental misconception of how strings and related methods work. The main issue is not using the return value of .strip(), but rather thinking that the method mutates the input string. Questions like this pop up like mushrooms, and are essentially typo questions (not actual typos, but brain farts). Answering such questions will stop automatic deletion processes to kick in once the question is closed. You're wasting your time answering them.
  • I'm a robot, I never take things personally... Yeah, "I've even tried .replace()" kinda gives it away. But downvoting as opposed to a request to delete in the comments? I'm only in it for the points ;) You're totally right though, questions need to be filtered, or at least immediately tagged based on points or something. The large majority of the questions I answer, I do so using SO! Maybe SO should make available a JFGI flag for noobs? Ha! Anyway, thanks for the explanation, appreciate it.