2012-12-25 17 views
22

Ho bisogno di rimuovere il primo carattere del mio UITextfield se si tratta di uno 0.Rimuovere primo carattere dalla stringa se 0

Purtroppo non so come estrarre il valore del primo carattere oppure estrarre i caratteri della stringa dopo il primo carattere.

Grazie

+0

io sono non capire troppo con la tua domanda, per favore, renderlo più facile da capire? – gamehelp16

+0

Beh, estrarre il testo, poi guarda il primo carattere. https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITextField_Class/Reference/UITextField.html http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation /Classes/NSString_Class/Reference/NSString.html –

risposta

73

Una soluzione potrebbe essere:

if ([string hasPrefix:@"0"] && [string length] > 1) { 
    string = [string substringFromIndex:1]; 
} 
6

probabilmente farete qualcosa di simile, utilizzando hasPrefix:

if ([string hasPrefix:@"0"]) { 
    string = [string substringFromIndex:1]; 
} 

Si potrebbe anche usare characterAtIndex: che restituisce un UNICHAR:

if ([string characterAtIndex:0] == '0') { 
    string = [string substringFromIndex:1]; 
} 

Si noti che, 'a' è carattere, "a" è la stringa C e @ "a" è NSString. Sono tutti tipi diversi.

+0

Nessun problema. La lunghezza della corda è ovviamente un bel controllo. :) – johankj

2

Swift 3.0:

+0

Se questa stringa è dinamico, potrebbe voler verificare se il conteggio è maggiore di 1: if (string.characters.count> 1) {} –

+0

'se si tratta di un 0.' – Szu

+0

whoops, lei ha ragione szu. –

2

Swift 3

hasPrefix ("0") controllare se il primo carattere è 0 in txtField e rimuoverlo

if (self.txtField.text?.hasPrefix("0"))! {   
    self.txtField.text?.remove(at(self.txtField.text?.startIndex)!) 
} 
+0

Spiega il tuo codice. – brimstone

Problemi correlati