我正在尝试创建/获取一个不包含空格的新字符串 例如,
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]
不起作用。请帮忙!
答案 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"