Python中的字符串分隔符
问题描述:
我想用"},{"
作为分隔符来分割一个字符串。我尝试了各种各样的东西,但都没有工作。Python中的字符串分隔符
string="2,1,6,4,5,1},{8,1,4,9,6,6,7,0},{6,1,2,3,9},{2,3,5,4,3 "
拆分它弄成这个样子:
2,1,6,4,5,1
8,1,4,9,6,6,7,0
6,1,2,3,9
2,3,5,4,3
string.split("},{")
作品在Python的控制台,但如果我写一个Python脚本中做此操作不起作用。
答
你能做到这一点的步骤:
- 斯普利特在逗号获得 “{...}” 字符串。
- 删除前后大括号。
它可能不是最Pythonic或高效,但它是一般和可行的。
答
您需要将string.split("},{")
的结果分配给新的字符串。例如:
string2 = string.split("},{")
我认为这就是您认为它在控制台工作但不在脚本中的原因。在控制台中它只是输出返回值,但是在脚本中你要确保使用返回的值。
答
您需要将return
字符串返回给调用者。分配给string
参数不会更改调用方的变量,因此这些更改将丢失。
def convert2list(string):
string = string.strip()
string = string[2:len(string)-2].split("},{")
# Return to caller.
return string
# Grab return value.
converted = convert2list("{1,2},{3,4}")
答
我正在从的脚本变量的形式在控制台输入....
所以,当我正在输入为{{2,4,5},{1 ,9,4,8,6,6,7},{1,2,3},{2,3}},它在arg [1]中没有正确地出现,所以分裂基本上分裂为空串...
答
如果我从运行一个脚本文件下面的代码(在Python 2.7):
字符串=“2,1,6,4,5,1},{8,1 ,4,9,6,6,7,0},{6,1,2,3,9},{2,3 ,5,4,3 “
打印string.split(”},{“)
然后我得到的输出是:
['2,1,6,4 ,5,1','8,1,4,9,6,6,7,0','6,1,2,3,9','2,3,5,4,3']
及以下的代码也能正常工作:
string="2,1,6,4,5,1},{8,1,4,9,6,6,7,0},{6,1,2,3,9},{2,3,5,4,3 "
def convert2list(string):
string=string.strip()
string=string[:len(string)].split("},{")
print string
convert2list(string)
它没有任何意义,它在控制台上工作,但不在脚本中。你的脚本是怎样的?在python控制台上的 – 2010-11-25 00:36:53
>>> string =“{{2,4,5},{1,9,4,8,6,6,7},{1,2,3},{2,3 }}“ >>> string。分裂( “},{”) 甚至取代工作正常,但当但在脚本中同样的事情它没有 高清convert2list(串): 字符串= string.strip() 字符串=字符串[2: len(string)-2] .split(“},{”) – anupash 2010-11-25 00:45:51