0

我需要在 Qt 中的字符串中获取子字符串,但有一些细节:

  • 我需要的子字符串由[and分隔]
  • 子字符串可能有一些不可预知的字符,如/, ^, -. 这个子字符串基本上描述了一个度量单位

此外,除了获取子字符串本身之外,我还需要进行测试以检查字符串中是否存在这样的子字符串。

我对 RegEx 一无所知,而且我也是 Qt 的新手。我在这里找到的大多数示例都没有向 Qt 报告和/或没有明确说明我需要什么。

4

1 回答 1

2
QRegExp exp("\\[([^\\]]+)\\]");
QString s1 = "5 [sm^2]";
qDebug() << exp.indexIn(s1);
qDebug() << exp.capturedTexts();

输出:

2 
("[sm^2]", "sm^2") 

如果字符串的任何部分都不匹配正则表达式,indexIn将通过返回 -1 来表示。否则结果将 >= 0,并且capturedTexts()[1]将包含括号中的文本。

于 2013-06-11T09:49:30.990 回答