C++ (Qt)QStringIterator it(theStr);while (it.hasNext()) { qDebug() << *it; ++it;}
C++ (Qt)foreach (consr QString &it, string.split (' ')) { }
QString str = "color = (1.34, 0.21, 0.2,12), x = 1.23e-5f,. "; QRegExp rx("(\\w+|[+-]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+f)?|[=\\(\\)])"); int i = 0; while((i = rx.indexIn(str, i)) != -1) { qDebug() << rx.cap(1); i += rx.matchedLength(); }
color=( 1.340.21 0.2 12 ) x =1.23e-5f
"(\\w+|[+-]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+f)?|[=\\(\\)])"
(\w+|[+-]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+f)?|[=\(\)])
( \w+ // числобуква 1 или более повторений = идентификатор | // оператор или [+-]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+f)? // число с плавающей точкой, разные вариации: 11, .0, +11.3232e+12f и тд | // оператор или [=\(\)] // набор разных операторов (можно дополнить): = ( ))
C++ (Qt) QString str("1.45e-5"); bool Ok = false; float f = str.toFloat(&Ok);
C++ (Qt) char * c_ctr = "1.45e-5f"; char * endP; float d = strtod(c_ctr, &endP);