String reinigen



  • Hi,

    ich wollte fragen, ob es möglich währe, einen String mittels z.B.: eine for -Schleife von bestimmten Zeichen "NICHT" säubern zu lassen.

    Ich möchte nämlich, das aus einem String, alles Zeichen gelöscht werden, und die entstehenden Lücken durch "zusammenschieben" des Strings "gefüllt" werden.
    Nicht zu löschende Zeichen wären dabei:
    - a bis z (Groß und klein)
    - \
    - .
    Da ich aber nicht in z.B.: einer if-Anweisung alles Buchstaben von a bis z mit einbinden wollte, wollte ich fragen, ob es eine Möglichkeit gäbe dies zu umgehen.

    Bin für jede Hilfe dankbar

    Greetz
    Invis





  • Invis schrieb:

    Da ich aber nicht in z.B.: einer if-Anweisung alles Buchstaben von a bis z mit einbinden wollte, wollte ich fragen, ob es eine Möglichkeit gäbe dies zu umgehen.

    Man kann es auch mit

    if(c >= 'a' && c <= 'z')
    

    machen. Man muss nicht jeden Buchstaben einzeln angeben.



  • <pedantic>

    feigling schrieb:

    Man kann es auch mit

    if(c >= 'a' && c <= 'z')
    

    machen. Man muss nicht jeden Buchstaben einzeln angeben.

    Sowas ist nicht portabel. Der C-Standard fordert nicht, dass die Zeichencodes von 'a'...'z' direkt hintereinander liegen. Das betrifft natürlich nur Systeme die nicht mit dem (erweiterten) ASCII-Zeichensatz arbeiten, wovon mir noch keines über den Weg gelaufen ist 😉
    Im übrigen ist aber garantiert, dass '0'... '9' hintereinanderliegen, '6' - '0' ergibt somit immer die erwartete 6.

    </pedantic>


Anmelden zum Antworten