I'm in search for an easy and foolproof way to convert an arbitrary QStringList
to a single QString
and back.
QStringList fruits;
fruits << "Banana", "Apple", "Orange";
QString packedFruits = pack(fruits);
QStringList unpackFruits = unpack(packedFruits);
// Should be true
// fruits == unpackFruits;
What might be the easiest solution for this kind of problem?
You just need to "split":http://developer.qt.nokia.com/doc/qt-4.8/qstring.html#split the QString. The result is a list of strings.
The QStringList class provides a list of strings. QStringList inherits from QList<QString>. Like QList, QStringList is implicitly shared. It provides fast index-based access as well as fast insertions and removals. Passing string lists as value parameters is both fast and safe.
From QStringList
to QString
- QStringList::join
:
Joins all the string list's strings into a single string with each element separated by the given separator (which can be an empty string).
QString pack(QStringList const& list)
{
return list.join(reserved_separator);
}
From QString
to QStringList
- QString::split
:
Splits the string into substrings wherever
sep
occurs, and returns the list of those strings. Ifsep
does not match anywhere in the string,split()
returns a single-element list containing this string.
QStringList unpack(QString const& string)
{
return string.split(reserved_separator);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With