web-dev-qa-db-ja.com

Objective-Cの文字列内の1文字を置き換える

誰かが私を助けてくれることを願っています-文字列内の特定の文字を置き換えたいのですが、これを行う最善の方法は何ですか?

文字の場所がわかっているので、たとえば、文字列の3番目の文字をAからBに変更する場合、どのようにコーディングすればよいでしょうか?

48
RanLearns

常に同じ文字である場合、使用できます:

stringByReplacingOccurrencesOfString:withString:

同じ場所にある同じ文字列の場合は、次を使用できます。

stringByReplacingOccurrencesOfString:withString:options:range:

特定の場所のみを使用できる場合:

stringByReplacingCharactersInRange:withString:

ここにドキュメント: https://developer.Apple.com/documentation/foundation/nsstring

たとえば、次のとおりです。

NSString *someText = @"Goat";
NSRange range = NSMakeRange(0,1);
NSString *newText = [someText stringByReplacingCharactersInRange:range withString:@"B"];

newTextは「ボート」に等しい

87
theChrisKent
NSString *str = @"123*abc";
str = [str stringByReplacingOccurrencesOfString:@"*" withString:@""];
//str now 123abc
28
Salim

コードは次のとおりです。

[aString stringByReplacingCharactersInRange:NSMakeRange(3,1) withString:@"B"];
6
Zakaria

使用 replaceCharactersInRange: withString:NSMutableStringオブジェクトのメッセージ。

4
Bourne