I would eliminate lines and clean up the code by relying on regular expressions.
QString s = "áche über dir Ke$ha is worth 100ドル";
// Performance: Eliminate characters you do not wish to have. Will make string smaller and improve performance.
s.remove(QRegularExpression("[" + QRegularExpression::escape("'!*,?|¡¿") + "]"));
qDebug().noquote() << "Before:\t" << s;
// Performance: Check for characters
if (s.contains(QRegularExpression("[" + QRegularExpression::escape("$/:ÀÁÄÙÛÜàáäçèéêëïñóöùûü") + "]")))
{
// Special Characters - The // Escape function is a just a safety measure incasein case you accidentlyaccidentally insert "^" in the square brackets.
s.replace(QRegularExpression("[" + QRegularExpression::escape(":/") + "]"), "-");
s.replace(QRegularExpression("[$]"), "s");
// Upper Case
s.replace(QRegularExpression("[ÁÀ]"), "A");
s.replace(QRegularExpression("[Ä]"), "Ae");
s.replace(QRegularExpression("[ÜÛÙ]"), "U");
// Lower Case
s.replace(QRegularExpression("[áà]"), "a");
s.replace(QRegularExpression("[ä]"), "ae");
s.replace(QRegularExpression("[ç]"), "c");
s.replace(QRegularExpression("[ëêéè]"), "e");
s.replace(QRegularExpression("[ï]"), "i");
s.replace(QRegularExpression("[ñ]"), "n");
s.replace(QRegularExpression("[óö]"), "o");
s.replace(QRegularExpression("[ûù]"), "u");
s.replace(QRegularExpression("[ü]"), "ue");
}
qDebug().noquote() << " After:\t" << s;
Before: áche über dir Ke$ha is worth 100ドル
After: ache ueber dir Kesha is worth s100
Oops; found an error in your code. Lets just adjust this line then:
s.replace(QRegularExpression("[$]([^0-9])"), "s\1円");
Before: áche über dir Ke$ha is worth 100ドル
After: ache ueber dir Kesha is worth 100ドル
I would eliminate lines and clean up the code by relying on regular expressions.
QString s = "áche über dir Ke$ha is worth 100ドル";
// Eliminate characters you do not wish to have. Will make string smaller and improve performance.
s.remove(QRegularExpression("[" + QRegularExpression::escape("'!*,?|¡¿") + "]"));
qDebug().noquote() << "Before:\t" << s;
// Check for characters
if (s.contains(QRegularExpression("[" + QRegularExpression::escape("$/:ÀÁÄÙÛÜàáäçèéêëïñóöùûü") + "]")))
{
// Special Characters - The Escape function is a just a safety measure incase you accidently insert "^" in the square brackets.
s.replace(QRegularExpression("[" + QRegularExpression::escape(":/") + "]"), "-");
s.replace(QRegularExpression("[$]"), "s");
// Upper Case
s.replace(QRegularExpression("[ÁÀ]"), "A");
s.replace(QRegularExpression("[Ä]"), "Ae");
s.replace(QRegularExpression("[ÜÛÙ]"), "U");
// Lower Case
s.replace(QRegularExpression("[áà]"), "a");
s.replace(QRegularExpression("[ä]"), "ae");
s.replace(QRegularExpression("[ç]"), "c");
s.replace(QRegularExpression("[ëêéè]"), "e");
s.replace(QRegularExpression("[ï]"), "i");
s.replace(QRegularExpression("[ñ]"), "n");
s.replace(QRegularExpression("[óö]"), "o");
s.replace(QRegularExpression("[ûù]"), "u");
s.replace(QRegularExpression("[ü]"), "ue");
}
qDebug().noquote() << " After:\t" << s;
Before: áche über dir Ke$ha is worth 100ドル
After: ache ueber dir Kesha is worth s100
Oops; found an error in your code. Lets just adjust this line then:
s.replace(QRegularExpression("[$]([^0-9])"), "s\1円");
Before: áche über dir Ke$ha is worth 100ドル
After: ache ueber dir Kesha is worth 100ドル
I would eliminate lines and clean up the code by relying on regular expressions.
QString s = "áche über dir Ke$ha is worth 100ドル";
// Performance: Eliminate characters you do not wish to have.
s.remove(QRegularExpression("[" + QRegularExpression::escape("'!*,?|¡¿") + "]"));
qDebug().noquote() << "Before:\t" << s;
// Performance: Check for characters
if (s.contains(QRegularExpression("[" + QRegularExpression::escape("$/:ÀÁÄÙÛÜàáäçèéêëïñóöùûü") + "]")))
{
// Special Characters // Escape function is a safety measure in case you accidentally insert "^" in the square brackets.
s.replace(QRegularExpression("[" + QRegularExpression::escape(":/") + "]"), "-");
s.replace(QRegularExpression("[$]"), "s");
// Upper Case
s.replace(QRegularExpression("[ÁÀ]"), "A");
s.replace(QRegularExpression("[Ä]"), "Ae");
s.replace(QRegularExpression("[ÜÛÙ]"), "U");
// Lower Case
s.replace(QRegularExpression("[áà]"), "a");
s.replace(QRegularExpression("[ä]"), "ae");
s.replace(QRegularExpression("[ç]"), "c");
s.replace(QRegularExpression("[ëêéè]"), "e");
s.replace(QRegularExpression("[ï]"), "i");
s.replace(QRegularExpression("[ñ]"), "n");
s.replace(QRegularExpression("[óö]"), "o");
s.replace(QRegularExpression("[ûù]"), "u");
s.replace(QRegularExpression("[ü]"), "ue");
}
qDebug().noquote() << " After:\t" << s;
Before: áche über dir Ke$ha is worth 100ドル
After: ache ueber dir Kesha is worth s100
Oops; found an error in your code. Lets just adjust this line then:
s.replace(QRegularExpression("[$]([^0-9])"), "s\1円");
Before: áche über dir Ke$ha is worth 100ドル
After: ache ueber dir Kesha is worth 100ドル
I would eliminate lines and clean up the code by relying on regular expressions.
QString s = "áche über dir Ke$ha is worth 100ドル";
// Eliminate characters you do not wish to have. Will make string smaller and improve performance.
s.remove(QRegularExpression("[" + QRegularExpression::escape("'!*,?|¡¿") + "]"));
qDebug().noquote() << "Before:\t" << s;
// Check for characters
if (s.contains(QRegularExpression("[" + QRegularExpression::escape("$/:ÀÁÄÙÛÜàáäçèéêëïñóöùûü") + "]")))
{
// Special Characters - The Escape function is a just a safety measure incase you accidently insert "^" in the square brackets.
s.replace(QRegularExpression("[" + QRegularExpression::escape(":/") + "]"), "-");
s.replace(QRegularExpression("[$]"), "s");
// Upper Case
s.replace(QRegularExpression("[ÁÀ]"), "A");
s.replace(QRegularExpression("[Ä]"), "Ae");
s.replace(QRegularExpression("[ÜÛÙ]"), "U");
// Lower Case
s.replace(QRegularExpression("[áà]"), "a");
s.replace(QRegularExpression("[ä]"), "ae");
s.replace(QRegularExpression("[ç]"), "c");
s.replace(QRegularExpression("[ëêéè]"), "e");
s.replace(QRegularExpression("[ï]"), "i");
s.replace(QRegularExpression("[ñ]"), "n");
s.replace(QRegularExpression("[óö]"), "o");
s.replace(QRegularExpression("[ûù]"), "u");
s.replace(QRegularExpression("[ü]"), "ue");
}
qDebug().noquote() << " After:\t" << s;
Before: áche über dir Ke$ha is worth 100ドル
After: ache ueber dir Kesha is worth s100
Oops; found an error in your code. Lets just adjust this line then:
s.replace(QRegularExpression("[$]([^0-9])"), "s\1円");
Before: áche über dir Ke$ha is worth 100ドル
After: ache ueber dir Kesha is worth 100ドル