iosiphoneswiftnsstringimport-contacts

string replace phone number iOS swift


I import a phone-number from "Contacts" and save in NSString. this string contains white-space and I try to delete them using the method:

numero = numero.stringByReplacingOccurrencesOfString(" ", withString: "")

this method doesn't work.


func sostituisci( stringa: NSString! ) -> NSString     
{         
var numero: NSString = ""         
NSLog(stringa) 
numero = ((stringa as String).stringByReplacingOccurrencesOfString(" ", withString: "") as NSString) 
NSLog(numero)

return numero
}

the output unchanged


log

2014-11-05 17:54:50.734 HappyRicarica[33438:3119446] (327) 124-3503
2014-11-05 17:54:50.737 HappyRicarica[33438:3119446] (327) 124-3503

Solution

  • I suspect that the space character in your string is not really a space. Try adding this after NSLog(string) to see what the unicode scalar values are for the characters in your string:

    for uni in (stringa as String).unicodeScalars {
        println("\(uni) = \(uni.value)")
    }
    

    The expected output for "(327) 124-3503" is:

    ( = 40
    3 = 51
    2 = 50
    7 = 55
    ) = 41
      = 32
    1 = 49
    2 = 50
    4 = 52
    - = 45
    3 = 51
    5 = 53
    0 = 48
    3 = 51
    

    From your comment, your space has value 160 instead of 32. You could remove that with:

    numero = stringa.stringByReplacingOccurrencesOfString(String(Character(UnicodeScalar(160))), withString: "")