2012-12-25 9 views
22

ich das erste Zeichen von meinem UITextfield entfernen müssen, wenn sie einenerste Zeichen von String, wenn 0

0 ist leider, wie ich weiß nicht, den Wert des ersten Zeichens zu extrahieren oder die Zeichen des Extraktes Zeichenfolge nach dem ersten Zeichen.

Dank

+0

ich bin verstehe nicht mit deiner Frage, würdest du es bitte leichter verstehen? – gamehelp16

+0

Nun, extrahieren Sie den Text, dann schauen Sie sich das erste Zeichen an. 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 –

Antwort

73

Eine Lösung könnte sein:

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

Sie wahrscheinlich so etwas wie dies wünschen würde, hasPrefix:

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

Sie verwenden auch characterAtIndex: verwenden könnte, die eine unichar zurückgibt:

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

Beachten Sie, dass "a" ein Zeichen ist, "a" ist C-Zeichenfolge und @ "a" ist NSString. Sie sind alle verschiedene Arten.

+0

Kein Problem. Die Saitenlänge ist natürlich ein schöner Schachzug. :) – johankj

2

Swift 3.0:

+0

Wenn diese Zeichenfolge dynamisch ist, möchten Sie möglicherweise überprüfen, ob die Anzahl größer als 1 ist: if (string.characters.count> 1) {} –

+0

'wenn es eine 0 ist. – Szu

+0

whoops, Sie sind richtig szu. –

2

Swift 3

hasPrefix ("0") überprüfen, ob das erste Zeichen 0 in txtField ist, und entfernen Sie es

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

Bitte erläutern Sie Ihren Code. – brimstone

Verwandte Themen