27

UITextfield如果它是 0 ,我需要从我的第一个字符中删除它。

不幸的是,我不知道如何提取第一个字符的值或提取第一个字符之后的字符串字符。

谢谢

4

6 回答 6

77

一种解决方案可能是:

if ([string hasPrefix:@"0"] && [string length] > 1) {
    string = [string substringFromIndex:1];
}
于 2012-12-25T14:48:05.470 回答
6

你可能想要这样的东西,使用hasPrefix:

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

您还可以使用characterAtIndex:它返回一个 unichar:

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

注意,'a' 是字符,"a" 是 C 字符串,@"a" 是 NSString。它们都是不同的类型。

于 2012-12-25T14:50:29.050 回答
4

斯威夫特 3.0:

var myString = "Hello, World"
myString.remove(at: myString.startIndex)

myString // "ello, World"
于 2017-01-17T22:41:59.433 回答
4

斯威夫特 3

hasPrefix("0") 检查txtField中的第一个字符是否为0并将其删除

if (self.txtField.text?.hasPrefix("0"))! {         
    self.txtField.text?.remove(at(self.txtField.text?.startIndex)!)
}
于 2017-06-05T09:57:10.903 回答
1

SWIFT 5.0 您可以使用以下序列函数来检查字符串是否以“0”开头

if search.starts(with: "0") {                                            
        search.remove(at: search.startIndex)                                      
        print("After Trim search is",search)                                                   
} else {                                                                 
        print("First char is not 0")                                                           
}

用您当前的变量名替换字符串变量。我希望这可以帮助你

于 2021-03-15T06:09:53.333 回答
0

While 循环保持删除第一个字符,只要它为零

while (self.ammountTextField.text?.hasPrefix("0"))! {     
   self.ammountTextField.text?.remove(at: (self.ammountTextField.text?.startIndex)!)
}
于 2018-04-09T17:48:31.707 回答