【发布时间】:2021-04-23 15:28:42
【问题描述】:
在以下示例中,使用 Python 3.8,我希望仅用管道替换 NUMBER(38,0) 中的逗号。
MISC1 VARCHAR, MISC2 VARCHAR, NUMBERS NUMBER(38,0), MISC3 VARCHAR
预期的结果是
MISC1 VARCHAR, MISC2 VARCHAR, NUMBERS NUMBER(38|0), MISC3 VARCHAR
NUMBER(38,0) 可能出现在列表中的任何位置,因此我无法指定第三个逗号,例如,NUMBER(38,0) 可能出现多次。此外,即使括号内的数值发生变化,例如NUMBER(24,2),我也需要能够做到这一点。
我无法想出一个不能替代所有其他逗号的有效解决方案,因此我正在联系蜂巢专家,看看是否有比我更博学的人来解决这个问题。
我一直使用的RE字符串是
([A-Z])\w+\([0-9]+,[0-9]+\)
感谢您的观看。
【问题讨论】:
-
如果您需要更改
NUMBER(xx,x)的位置...在我看来,您需要搜索NUMBER(,然后找到下一个)并替换里面的逗号那些索引。从长远来看,这可能比这里的正则表达式更容易维护。
标签: python python-3.x regex