Converting Strings from and to Camel Case: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Created page with "== Convert from camelCaseString to camel_case_string == <code> QString fromCamelCase(const QString &s) { static QRegularExpression regExp1 {"(.)([A-Z][a-z]+)"}; static...")
 
(Added Category)
Line 1: Line 1:
[[Category:Snippet]]
== Convert from camelCaseString to camel_case_string ==
== Convert from camelCaseString to camel_case_string ==
<code>
<code>

Revision as of 19:04, 19 November 2015

Convert from camelCaseString to camel_case_string

QString fromCamelCase(const QString &s)
{
    static QRegularExpression regExp1 {"(.)([A-Z][a-z]+)"};
    static QRegularExpression regExp2 {"([a-z0-9])([A-Z])"};

    QString result = s;
    result.replace(regExp1, "\\1_\\2");
    result.replace(regExp2, "\\1_\\2");

    return result.toLower();
}

Convert from camel_case_string to camelCaseString

QString toCamelCase(const QString& s)
{
    QStringList parts = s.split('_', QString::SkipEmptyParts);
    for (int i=1; i<parts.size(); ++i)
        parts[i].replace(0, 1, parts[i][0].toUpper());

    return parts.join("");
}