2013-07-13 147 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);");