Python .strip方法不起作用

时间:2016-11-06 00:29:15

标签: python

我有一个像这样开始的功能:

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

我正在输入字符串'1 + 2 * 3 ** 4',但是return语句根本没有剥离空格,我无法弄清楚原因。我甚至尝试过.replace()没有运气。

3 个答案:

答案 0 :(得分:9)

Strip不会删除任何地方的空白,只会在开头和结尾删除。试试这个:

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

在这种情况下使用strip()是多余的(显然,感谢评论员!)。

P.S。在我休息之前奖励有用的片段(感谢OP!):

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

答案 1 :(得分:4)

由于字符串是不可变的,因此Strip不会更改原始字符串。您应该为剥离的字符串设置返回值,或者只返回剥离的字符串。

选项1

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

选项2

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

编辑: 而不是string1.strip(' '),请使用string1.replace(' ', '')

答案 2 :(得分:0)

strip返回剥离的字符串;它不会修改原始字符串。