2014-02-14 8 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: \ библиотеки GDAL \ Bin"

для этого мне нужно QRegExp.

благодарит

ответ

0

Вы должны использовать QString :: заменить() метод для этого:

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

Но если строка заменяется даже не изменять, не следует использовать регулярное выражение, используйте строку замены:

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

Edit для изменения путей:

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 = \" [^ \ " ] * \ ""), "установите GDAL_PATH = \" c: \\ gda \\ bin \ ""); '' Скобка '' [^ \ "] *' 'означает что-либо, кроме знака double-qoute. –

+0

Привет, Себастьян, мне нужно что-то вроде этого QRegExp exp ("GDAL_PATH = \" * \ ""); –

Смежные вопросы