Obj.Cで簡単に文字列の各文字の間にスペースを追加したいのですが。だから "1234"は "1 2 3 4"のように見えます。NSString埋め込み/文字間のスペース
私はここで完璧なJavaScriptの例を見つけた:https://stackoverflow.com/a/7437422/949538
はObj.Cのための似たようなの人を知っていますか?カーニングはiOSのPITAですが、これはとにかく必要なものです。
思考/コメント?
ありがとうございます! - ドリュー
Obj.Cで簡単に文字列の各文字の間にスペースを追加したいのですが。だから "1234"は "1 2 3 4"のように見えます。NSString埋め込み/文字間のスペース
私はここで完璧なJavaScriptの例を見つけた:https://stackoverflow.com/a/7437422/949538
はObj.Cのための似たようなの人を知っていますか?カーニングはiOSのPITAですが、これはとにかく必要なものです。
思考/コメント?
ありがとうございます! - ドリュー
これを試してみてください。
NSString *string =[NSString stringWithString:@"1234"];
NSMutableArray *buffer = [NSMutableArray arrayWithCapacity:[string length]];
for (int i = 0; i < [string length]; i++) {
[buffer addObject:[NSString stringWithFormat:@"%C", [string characterAtIndex:i]]];
}
NSString *final_string = [buffer componentsJoinedByString:@" "];
そのように見えます。ちょっとした考え; 'string'文字列からオブジェクトを追加した後で、このループを' forString 'に追加することもできます。 '[buffer addObject:[NSString stringWithFormat:@" "]' – pasawaya
@qegal ya私たちはそれを使うことができますが、 'buffer'はNSMutableArrayです。最後に' NSString'を取得したいので 'componentsJoinedByString'を使う必要があります。 – Hector
素晴らしいです。完璧に働いた、ありがとう! – Drew
を、これが行います
NSString *string =[NSString stringWithString:@"1234"];
NSMutableString *spacedString= [NSMutableString stringWithString:[NSString stringWithFormat:@"%C",[string characterAtIndex:0]]];
for(int i = 1; i<[string length];i++)
{
[spacedString appendString:[NSString stringWithFormat:@" %C",[string characterAtIndex:i]]];
}
考慮デビッドRönnqvistさんのコメントで述べた問題点を取って、これを正しく行うには、このような何か:
NSMutableString* result = [origString mutableCopy];
[result enumerateSubstringsInRange:NSMakeRange(0, [result length])
options:NSStringEnumerationByComposedCharacterSequences | NSStringEnumerationSubstringNotRequired
usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop){
if (substringRange.location > 0)
[result insertString:@" " atIndex:substringRange.location];
}];
JavaScriptをObj-Cにコピーするだけでも(これは基本的です!)。何を試しましたか? – Vervious