UTF8string メソッドを介して NSString から変換した後、ac 文字列から文字を置き換えることは可能ですか?
たとえば、以下のコードを見てください。特定のルールで文字列をフォーマットすることです。
- (NSString *)formatString:(NSString *)input {
if (input.length==0) {
return @"";
}
//code to determine rule
....
....
// substitute output format with input characters
if (rule) {
input = [input substringFromIndex:prefix.length];
char *string = (char *)[rule UTF8String];
int repCount = 0;
for (int i=0; i<rule.length; i++) {
if (string[i] == '#') {
if (repCount < input.length)
string[i] = [input characterAtIndex:repCount++];//bad access
else
string[i] = ' ';
}
}
NSMutableString *output = [NSMutableString stringWithCString:string encoding:NSUTF8StringEncoding];
...
... //do something with the output
return output;
} else {
return input;
}
}
最初に string[0] には「#」があり、入力の文字に置き換えられる必要があります。これは起こっていません。