NSString: nicht-numerische Zeichen entfernen

Dieses Thema im Forum "macOS-Developer" wurde erstellt von bezierkurve, 11.03.09.

  1. bezierkurve

    bezierkurve Danziger Kant

    Dabei seit:
    12.06.05
    Beiträge:
    3.861
    Kurz und knapp: Gibt’s eine elegante Möglichkeit, aus einem NSString sämtliche nicht-numerischen Zeichen zu entfernen?
     
  2. below

    below Purpurroter Cousinot

    Dabei seit:
    08.10.06
    Beiträge:
    2.858
    Die einfachste Die mir einfällt ist eine Schleife aus - rangeOfCharacterFromSet:oops:ptions:range: mit [[NSCharacterSet alphanumericCharacterSet] invertedSet] und deleteCharactersInRange.

    Alex
     
    bezierkurve gefällt das.
  3. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Code:
    NSCharacterSet* nonDecimals = [[NSCharacterSet decimalDigitsCharacterSet] invertedSet];
    NSArray* decimals = [theString componentsSeperatedByCharactersInSet:nonDecimals];
    theString = [decimals componentsJoinedByString:@""];
     
    bezierkurve gefällt das.
  4. bezierkurve

    bezierkurve Danziger Kant

    Dabei seit:
    12.06.05
    Beiträge:
    3.861
    Genial einfach! Besten Dank!
     
  5. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Sagen wir "genial kurz". Ich finde es irgendwie ugly. Aber wen ich das vorschlage, sind die Leute immer begeistert.
     
  6. below

    below Purpurroter Cousinot

    Dabei seit:
    08.10.06
    Beiträge:
    2.858
    Hui, da bin ich ja froh. Ich fand das auch irgendwie ugly. Aber jetzt darf ich das ja sagen ;)

    Alex
     
  7. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Du darfst das immer sagen.

    Aber immerhin hat es den Vorteil, dass es funktioniert.
     
  8. below

    below Purpurroter Cousinot

    Dabei seit:
    08.10.06
    Beiträge:
    2.858
    Falls man vorraussetzen kann, dass sich die zu entfernenden Zeichen nur am Anfang und am Ende des Strings befinden, kann man auch die trim... Methode verwenden.

    Gruss

    Alex