【发布时间】:2013-01-17 18:32:29
【问题描述】:
我想用 QRegExp 过滤命令
/path/to/executable --long-parameter -s /path/which/has/a/space/and/a/dash/\ -end
我尝试删除所有以-开头的参数和程序名称(/path/to/executable)
QString str(...);
str.remove(QRegExp("^\\S*")).remove(QRegExp("\\s-\\S*")).trimmed();
这会删除参数,但是如果有/a/dash/\ -end,这将被视为参数,当它应该被留下时,因为空格前面有一个反斜杠。有什么办法处理吗?
/path/to/executable 不是执行的程序 - 它只是一个字符串。
【问题讨论】:
-
论据从何而来?在可能的情况下,我总是尝试将它们作为 QStringList 处理。
-
我从 freedesktop.org 桌面条目中阅读它们