我有NSString
,如@"05205"
或@"05931"
左右。 我想刪除前導0個字符。用字符串中的空白字符替換「0」
E.g. @"05205"
in @"5205"
或@"00072"
in @"72"
。
我該如何在Objective-C中做到這一點?
我有NSString
,如@"05205"
或@"05931"
左右。 我想刪除前導0個字符。用字符串中的空白字符替換「0」
E.g. @"05205"
in @"5205"
或@"00072"
in @"72"
。
我該如何在Objective-C中做到這一點?
如果您將字符串轉換爲整數然後回到字符串,它將修剪前導零。
NSString *s = @"0072";
NSString *newString =[ NSString stringWithFormat:@"%d",[s integerValue]];
+1巧妙的解決方案。即使可能效率較低,@ @ @@@ 0042「.integerValue).stringValue' –
woooow答案是完美的! :D天才! – Loko
我喜歡這個答案,但是我可能會使用像'%lld'和'[s longLongValue]'這樣的最廣泛的可用類型(或者如果他知道值總是正數,則是無符號的equiv) –
隨着NSStringCompareOptions
NSAnchoredSearch
,搜索僅限於字符串的開頭,所以你可以使用stringByReplacingOccurrencesOfString:withString:options:range:
這樣:
NSString* str= @"0072";
str= [str stringByReplacingOccurrencesOfString:@"0"
withString:@""
options:NSAnchoredSearch
range:NSMakeRange(0, str.length)];
這比rdelmar的巧妙的竅門更好,更一般的答案。 – rmaddy
是的,真的很不錯。它基本上等同於<隨意插入函數式編程語言>中的'dropWhile'函數 –
我想你的意思是說,你要刪除領先' 0「字符。 – rmaddy
你有沒有試過看NSString doc? –
你在哪裏得到這些?如果形成一個格式化操作,那麼你可以修復它。否則,NSString會記錄幾種不同的方法來刪除/空白字符。 –