这个问题在这里已经有答案了:
如何用括号外的逗号分割字符串(10个答案)
10个月前关门了。
嗨,我正在尝试用逗号分割ddl(在python3中),但问题是像'numeric(1,1)'或'decimal(2,4)'甚至'identity(1,2)'这样的数据类型给我带来了困难。
这是输入:
['x int not null, y decimal(2, 4) null, z numeric(7, 3), m bigint identity(1,1), d date]
这就是我想要的输出:
['x int not null','y decimal(2, 4) null','z numeric(7, 3)','m bigint identity(1,1)','d date']
然后我把它按空格分开,就可以编写代码了。
如果我使用 list.split(',')
它也被小数点逗号和标识分开。。
编辑:逗号问题解决后,我有不同的问题,我有以下列表:['x int not null','y decimal(2,4)null','z numeric(7,3)','m bigint identity(1,1)','d date']
我想得到mo for循环中每个迭代的输出:['x','int','not','null']['y','decimal(2,4)','null']等等。。。
当我把它按空格分开时,我得到:['x','int','not','null']['y','decimal(2','4','null']
我之所以这样做是因为我想在拆分[1]后处理列表\u,这是数据类型,但我想将所有数字(2,4)捕获为一个单元格,而不是“decimal(2)和“4)”
如何用不跟数字的空格分割?
2条答案
按热度按时间ktecyv1j1#
我将使用regex来实现这个目的,我认为这样的东西应该可以工作:
它将使用“负展望”来匹配所有
,
不在括号中的字符。一旦你得到了你的结果,循环通过它们并以任何你需要的方式处理它们:
7gcisfzg2#
用逗号和空格分开,不跟数字和空格
)
: