2013-04-06 104 views
1

我已经在python中编写了一些代码,并且我遇到了这样的问题,例如,当我使用split函数后,例如“这是我的第一个python程序”这样的:替换python中的空格+

['this', 'is', 'my', 'very', 'first', 'python', 'program'] 
['this', 'is', 'my', 'very', 'first', 'python program'] 
['this', 'is', 'my', 'very', 'first python program'] 
['this', 'is', 'my', 'very first python program'] 
['this', 'is', 'my very first python program'] 
['this', 'is my very first python program'] 
['this is my very first python program'] 

现在我想通过与+号分隔成一个URL的每个字。

我想为每个循环使用一个,但我的问题是它应该自动替换它,如上所述。例如,"python program"的结果应该是"python+program"

那么谁能告诉我如何解决这个问题在python中?

回答

1

这应该工作

my_string = "this is my very first python program" 
n = len(my_string.split(' ')) 
for i in range(n): 
    my_string_split = [x.replace (" ", "+") for x in my_string.split(' ', n-i-1)] 
    print my_string_split 
+0

谢谢你,我知道那一个,但事情是,例如我在拆分到3个字就是这样,是我,第一个Python程序,当我把它称为一个循环和发送每个单词到一个网址,然后为2和第三个单词,我需要添加+而不是空格自动 – user1660130 2013-04-06 20:27:30

+0

我刚刚编辑答案..会有帮助吗? – karthikr 2013-04-06 20:33:21

+0

谢谢你正在工作.. – user1660130 2013-04-06 20:47:15

3

这是更好地使用合适的工具。你需要的是urlencode文本参数,所以你需要使用urllib.urlencode函数。

2

如何:

>>> a = "this is my first Python program" 
>>> "+".join(a.split()) 
'this+is+my+first+Python+program'