Python - 删除字符串中的空格而不使用内置方法

时间:2014-04-23 13:00:28

标签: python string

我正在尝试创建/获取一个不包含空格的新字符串 例如,

string1 = "my music is good"

应该成为

joinedstring = "mymusicisgood"   #this is the one i want

首先,我可以使用内置的字符串方法

来完成此操作
string1 = "my music is good"
joinedstring = string1.replace(" ","")

但是现在我试图在没有任何字符串方法的情况下实现相同的结果,这意味着我必须创建自己的函数,我的想法是创建一个循环,在字符串中搜索“space”的索引然后尝试删除索引以生成新字符串。 但问题来了,字符串是不可变的,因此删除说del string[index]不起作用。请帮忙!

4 个答案:

答案 0 :(得分:2)

您无需import string进行替换。 replace()是任何字符串的方法:

>>> string1 = "my music is good"
>>> joinedstring = string1.replace(" ","")
>>> joinedstring
'mymusicisgood'

答案 1 :(得分:0)

如果您需要自己“编程”内置功能,那么看起来很像学校作业。 一个非常简单的功能可能如下所示:

def no_spaces(string1):
    helpstring=""
    for a in string1:
      if a == " ":
         pass
      else:
         helpstring=helpstring+a
    return helpstring

答案 2 :(得分:0)

这是一个可以从代码中调用的工作函数:

def remove_space(old_string):
    new_string = ""
    for letter in old_string:
        if not letter == " ":
            new_string += letter
        else:
            pass
    print new_string # put here return instead of print if you want

if __name__ == '__main__':
    remove_space("there was a time")

希望这是你正在寻找的@ user3564573

答案 3 :(得分:-1)

替代解决方案是使用带有过滤器的列表理解(if部分):

>>> string1 = "my music is good"
>>> "".join([c for c in string1 if c != " "])
"mymusicisgood"