QString überprüfen
Guten Tag
Ich wollte fragen, wie ich überprüfen kann, ob ein String ein "," oder ein "." enthält? Ich benutze C++ mit QT.
Danke.
3 Antworten
Vom Beitragsersteller als hilfreich ausgezeichnet
Hallo,
mit C++ kenne ich mich zwar nicht so super aus, aber in C# gibt es die Funktion
bool String.Contains(string value);
Codebeispiel:
string s;
if (s.Contains(".") || s.Contains(","))
{
//Enthält "." oder ","
}
else
{
//Enthält weder "." noch ","
}
Unternehmen, das auf gutefrage aktiv ist
Die Funktion QString::contains() hilft:
if (s.contains('.') || s.contains(',')) {
// gesuchtes Zeichen gefunden
}
Zu beachten sind die einzelnen Anführungszeichen, die dazu führen, dass der Overload für einzelne Zeichen gewählt wird. Die Verwendung von "." und "," würde zu einem Aufruf des Overloads für QString führen, dess Konstruktion teurer ist.
Woher ich das weiß:Berufserfahrung
if(str.indexOf(',')>=0 || str.indexOf('.')>=0) { ...
indexOf() liefert einfach die Position des vorgegebenen Zeichens - oder -1, falls nicht vorhanden.
Steht in der Doku zu QString.