Split words in letters
-
Hi everyone.
Thanks a lot for reading this post and helping me.I have a QStringList words which has the next:
QStringList words_of_linewords_of_line = [-10,30]
Now I would like to get just the numbers so -10 and 30.
The format will be always the same, some examples:
[5,6] [10,-5] [-1,20]So how can I get just the numbers? (it it is negative I have to get the negative.)
-
Hi
You can use the split function -
Hi everyone.
Thanks a lot for reading this post and helping me.I have a QStringList words which has the next:
QStringList words_of_linewords_of_line = [-10,30]
Now I would like to get just the numbers so -10 and 30.
The format will be always the same, some examples:
[5,6] [10,-5] [-1,20]So how can I get just the numbers? (it it is negative I have to get the negative.)
-
Hi everyone.
Thanks a lot for reading this post and helping me.I have a QStringList words which has the next:
QStringList words_of_linewords_of_line = [-10,30]
Now I would like to get just the numbers so -10 and 30.
The format will be always the same, some examples:
[5,6] [10,-5] [-1,20]So how can I get just the numbers? (it it is negative I have to get the negative.)
Also, you can use the capture method of regular expression.
Something like this:QRegExp rx("(-?\\d+),(-?\\d+)"); foreach (auto str, QStringList() << "[5,6]" << "[10,-5]" << "[-1,20]") { if (rx.indexIn(str) > -1) qDebug() << "lvalue:" << rx.cap(1) << "rvalue:" << rx.cap(2); } -
Hi,
To add to my fellow regexp fans. Use QRegularExpression with Qt 5. QRegExp has been deprecated.
-
Hi
You can use the split function -
Hi,
To add to my fellow regexp fans. Use QRegularExpression with Qt 5. QRegExp has been deprecated.
-
Also, you can use the capture method of regular expression.
Something like this:QRegExp rx("(-?\\d+),(-?\\d+)"); foreach (auto str, QStringList() << "[5,6]" << "[10,-5]" << "[-1,20]") { if (rx.indexIn(str) > -1) qDebug() << "lvalue:" << rx.cap(1) << "rvalue:" << rx.cap(2); }@Devopia53 said:
Also, you can use the capture method of regular expression.
Something like this:QRegExp rx("(-?\\d+),(-?\\d+)"); foreach (auto str, QStringList() << "[5,6]" << "[10,-5]" << "[-1,20]") { if (rx.indexIn(str) > -1) qDebug() << "lvalue:" << rx.cap(1) << "rvalue:" << rx.cap(2); }@kshegunov said:
@AlvaroS
You can indeed usesplitas @mrjj said, but you can also extract them directly with a regex (\[\s*(-?[0-9]+)\s*,\s*(-?[0-9]+)\s*\]). However the regex will probably work much better if you had a whole string.Thanks for asnwering friends! Like I said in the last post. Where can I find the regular expressions of C++ like -? s*??? The meaning of that!
Thanks!
-
hi again.
Now I am trying split one word but I have to get the first paramenter. For example:
i have this: /home/user/image.jpeg
So I have to get just "/home/user/"
So every characters until the last /.How can I do that?!
Thanks!!
@AlvaroS said:
Where can I find the regular expressions of C++ like -? s*??? The meaning of that!
You can't because this is not part of C++. This is something Qt provides for you through the
QRegularExpressionclass. That class is using PCRE (perl-compatible regular expressions), so you can see the syntax on any site that deals with them. For example:
http://www.pcre.org/pcre.txt
or more humanly presented:
http://php.net/manual/en/reference.pcre.pattern.syntax.phpAlso you can experiment and test PCREs here:
https://regex101.com/ (select PCRE flavor in the left sidebar).Now I am trying split one word but I have to get the first paramenter. For example:
i have this: /home/user/image.jpegFor this, you're better of using Qt's file/dir/fileinfo classes. For the simplest of examples:
QString filePath = "/home/user/image.jpeg"; QString dirPath = QFileInfo(filePath).dir().path(); -
You'll be also interested by the regular expression tool
-
@AlvaroS said:
Where can I find the regular expressions of C++ like -? s*??? The meaning of that!
You can't because this is not part of C++. This is something Qt provides for you through the
QRegularExpressionclass. That class is using PCRE (perl-compatible regular expressions), so you can see the syntax on any site that deals with them. For example:
http://www.pcre.org/pcre.txt
or more humanly presented:
http://php.net/manual/en/reference.pcre.pattern.syntax.phpAlso you can experiment and test PCREs here:
https://regex101.com/ (select PCRE flavor in the left sidebar).Now I am trying split one word but I have to get the first paramenter. For example:
i have this: /home/user/image.jpegFor this, you're better of using Qt's file/dir/fileinfo classes. For the simplest of examples:
QString filePath = "/home/user/image.jpeg"; QString dirPath = QFileInfo(filePath).dir().path();@kshegunov said:
@AlvaroS said:
Where can I find the regular expressions of C++ like -? s*??? The meaning of that!
You can't because this is not part of C++. This is something Qt provides for you through the
QRegularExpressionclass. That class is using PCRE (perl-compatible regular expressions), so you can see the syntax on any site that deals with them. For example:
http://www.pcre.org/pcre.txt
or more humanly presented:
http://php.net/manual/en/reference.pcre.pattern.syntax.phpAlso you can experiment and test PCREs here:
https://regex101.com/ (select PCRE flavor in the left sidebar).Now I am trying split one word but I have to get the first paramenter. For example:
i have this: /home/user/image.jpegFor this, you're better of using Qt's file/dir/fileinfo classes. For the simplest of examples:
QString filePath = "/home/user/image.jpeg"; QString dirPath = QFileInfo(filePath).dir().path();@SGaist said:
You'll be also interested by the regular expression tool
Thanks a lot. I have done good what I wanted to do :)
Have a good day.