2013-07-13 148 views
0

我想使用正则表达式在右括号后删除。任何帮助?使用正则表达式在右括号后删除

原文:

CREATE TABLE "EMP" 
    ( "EMPNO" NUMBER(4,0) NOT NULL ENABLE, 
    "ENAME" VARCHAR2(10), 
    "JOB" VARCHAR2(9), 
    "MGR" NUMBER(4,0), 
    "SAL" NUMBER(7,2), 
    "DEPTNO" NUMBER(2,0) 
    ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING 
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) 
    TABLESPACE "USERS" 
; 

我想

CREATE TABLE "EMP" 
    ( "EMPNO" NUMBER(4,0) NOT NULL ENABLE, 
    "ENAME" VARCHAR2(10), 
    "JOB" VARCHAR2(9), 
    "MGR" NUMBER(4,0), 
    "SAL" NUMBER(7,2), 
    "DEPTNO" NUMBER(2,0) 
    ) 
; 
+1

你还有什么?你知道如何使用逆序吗? – Ryan

+0

我不知道是否有一个干净的方式与正则表达式来检查是否关闭')'真的关闭了整个事情,但你可以通过计算开幕式和闭幕式。 –

+0

我觉得'String'方法对于你的问题会更好,而不是'Regex'。 – Shaharyar

回答

1

你可以使用类似:

Regex.Replace(str, @"\)\s*\)[^;]*", ")\n)"); 

让我知道,如果它的工作...

+0

喜罗宾,我有一个richtextbox里面的winform应用程序,这个richtextBox包含我的上述文本。我如何编写C#代码来检查?任何建议? – user2577665

+1

您需要发布一些代码,以便我们可以帮助您 – SolidSnake

+0

+1,但是我确实从替换块中删除了';',因为它似乎在我的输出中插入了一个附加的';'。 –

0

试试这个:

string less = Regex.Replace(str, "^([^)]*).*", "$1);");