0

IOS で文字列「1234567890123456789」を「1234 5678 9012 3456 789」にフォーマットする最も簡単な方法は何ですか?

4

5 に答える 5

3

これを試して:

-(NSString *) correctString:(NSString *) anyStr {

  NSMutableString *str=[NSMutableString stringWithString:anyStr];
int indx=4;
while (indx<str.length) {
    [str insertString:@" " atIndex:indx];
    indx +=5;
}
anyStr=str;
return anyStr;
}
于 2013-08-20T16:35:58.233 に答える
0

コードを書きました。

NSMutableString *string = @"1234567890123456789"; 

NSInteger *ip = 4;

for (NSInteger i = 0; i*4 < [string length] ; i++)
{
    [string insertString:@" " atIndex:ip];
    ip = ip+5;
}
于 2013-08-20T16:54:57.970 に答える
0

Swift 拡張機能は次のとおりです。

extension String {
    var pairs: [String] {
        var result: [String] = []
        let chars = Array(characters)
        for index in 0.stride(to: chars.count, by: 4) {
            result.append(String(chars[index..<min(index+4, chars.count)]))
        }
        return result
    }
}

使用するには:

let string : String = "1234567890123456789"
let finalString = string.pairs.joinWithSeparator(" ") //1234 5678 9012 3456 789
print(finalString)

スウィフト 3 の場合:

extension String {
    var pairs: [String] {
        var result: [String] = []
        let chars = Array(characters)
        for index in stride(from: 0, to: chars.count, by: 4){
            result.append(String(chars[index..<min(index+4, chars.count)]))
        }
        return result
    }
}
于 2017-06-16T10:32:54.890 に答える