2017-07-14 51 views
0

我有一個sql過程代碼。我們正在將代碼遷移到不同的架構上。我需要替換所有維度表架構。如何替換記事本中的模式++

例子: 舊模式:DBO.ABC_DIM,DBO.XYZ_DIM

更換後:MART.ABC_DIM,MART.XYZ_DIM

可以在任何一個讓我知道我們如何能做到這一點使用正則表達式替換。

感謝 天空

+0

你到目前爲止嘗試過什麼? – bated

+0

我還有一些其他表,如DBO.ABC_DTL,DBO.ABC_2_BCD ..我不想在這裏取代DBO。我只想替換DBO以DIM結尾的位置。 [DBO。* _ DIM] – Sky

回答

1

您必須使用: 在 「查找內容」 字段:

(DBO)\. 

,並在該領域 「替換爲」:

MART\. 

不要忘記將光標放在文件的開頭。否則,更換開始後實際光標位置

編輯:

因此,在這種情況下,如果你有別人,你可以使用:

查找字段:

\b(DBO\.)(.+?)_DIM\b 

替換字段:

MART\.$2_DIM 

一些像:

DBO.ABC_DIM, DBO.XYZ_DIM, 
DBO.ABC_DTL, DBO.ABC_2_BCD 

成爲:

MART.ABC_DIM, MART.XYZ_DIM, 
DBO.ABC_DTL, DBO.ABC_2_BCD 

LAST編輯:

上面失敗:由於在第二行匹配DBO.ABC_DTL,DBO.ABC_2_BCD

DBO.ABC_DIM, DBO.XYZ_DIM, 
DBO.ABC_DTL, DBO.ABC_2_BCD, DBO.ABC_DIM, DBO.XYZ_DIM, 
DBO.ABC_DTL, DBO.ABC_2_BCD, 
DBO.ABC_DIM, DBO.XYZ_DIM, 

,DBO.ABC_DIMDBO.ABC_DTL變成MART。ABC_DTL

所以正確的解決方案是:

查找字段:

(DBO\.)(.[^\.]+?)_DIM 

替換字段:

MART\.$2_DIM 

在這裏看到的匹配結果:http://refiddle.com/refiddles/596b348175622d74ff020000

+0

我還有一些其他表,如DBO.ABC_DTL,DBO.ABC_2_BCD ..我不想在這裏替換DBO。我只想替換DBO以DIM結尾的位置。 [DBO。* _ DIM] – Sky

0

如果y OU打開VIM該模式,做到按esc然後

:s%/DBO/MART 

,然後按回車

:s(冒號和s)的替代 /DBO找到DBO /MART用MART

更換

一旦你驗證所有DBO都用MART替換,您需要保存更改esc:wq

+1

哦,我沒有看到OP要求用Notepad ++替換它。剛剛意識到。記事本++應該找到並替換選項 – JBone

+0

我有一些其他表,如DBO.ABC_DTL,DBO.ABC_2_BCD ..我不想在這裏取代DBO。我只想替換DBO以DIM結尾的位置。 [DBO。* _ DIM] – Sky