2014-02-14 73 views
0

我有一個字符串QRegExp捕捉和替代

@echo Setting environment for using the GDAL Utilities. 
    set GDAL_PATH="G:\MapTiler" 
    @echo GDAL path is %GDAL_PATH%. 
    set PATH=%GDAL_PATH%;%PATH% 

在此我想提取 「G:\ MapTiler」 並將其替換爲 「C:\ @中\ BIN」

的,我需要QRegExp。

感謝

回答

0

您應該使用的QString ::這個replace()方法:

QString gdalPath; 
gdalPath.replace(QRegExp("G:\\MapTiler"),"c:\\gda\\bin"); 

但如果被替換的字符串也不會改變,不使用正則表達式,使用字符串替換:

gdalPaht.replace("G:\\MapTiler","c:\\gda\\bin"); 

用於改變路徑編輯:

QString::replace(QRegExp("set GDAL_PATH=\"[^\"]*\""),"set GDAL_PATH=\"c:\\gda\\bin\""); 
+0

實際上「G:\ MapTiler」和「c:\\ gda \\ bin」不是固定的,它可以是任何路徑 –

+0

然後使用''QString :: replace(QRegExp(「set GDAL_PATH = \」[^ \「 ] * \「」),「set GDAL_PATH = \」c:\\ gda \\ bin \「」);''括號''[^ \「] *''表示除雙字符之外的任何內容。 –

+0

嗨塞巴斯蒂安,我需要這樣的QRegExp exp(「GDAL_PATH = \」* \「」); –