Converting Strings from and to Camel Case

From Qt Wiki
Revision as of 19:00, 19 November 2015 by Mcosta (talk | contribs) (Created page with "== Convert from camelCaseString to camel_case_string == <code> QString fromCamelCase(const QString &s) { static QRegularExpression regExp1 {"(.)([A-Z][a-z]+)"}; static...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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("");
}