0

NSStringのフィルタリングについてサポートが必要です。myStringという文字列があるとします。

NSString *myString = @"HelloWorld";

「Hello」という単語を除外するにはどうすればよいですか。または、最初の5文字を​​削除したい場合、特定の量の文字(最初の文字)を削除するにはどうすればよいですか。

私が直面している別の例:

NSString *myString = @"Hello hi World"; 

同様に、「Hello」とその後のスペースを削除したいと思います。また、「こんにちは」という2つの単語とその後のスペースを削除して、「世界」だけを残したいと思うかもしれません。

NSStringsの文字を削除する基本を誰かが説明できますか?私はobjective-cの世界にまったく慣れておらず、クラスリファレンスを読んだことでさらに混乱しました。私はまだ12歳なので、クラス参照を理解していなくても過酷なことはしないでください。

4

4 に答える 4

1

この場合、NSMutableStringが必要です。

NSMutableString *mutableString = @"Hello World";
[mutableString deleteCharactersInRange:NSMakeRange([mutableString length]-11, 6)];
NSLog (@"%@", mutableString);

NSMakeRangeの説明:最初に文字列の最後に移動し、長さ(11)をカウントバックします。今、あなたは「H」文字にいます。ここで、次の6文字を削除します。「世界」は今残っています。

于 2012-11-09T14:00:32.733 に答える
0

NSStringには、ほとんどすべてを実行するためのメソッドがたくさんありますが、考慮すべきことは、NSStringは不変であるため、これらのメソッドはすべて新しい文字列を返すということです。これが問題になる場合は、現在の文字列を操作するメソッドを持つNSMutableStringを調べることができます。

于 2012-11-09T13:58:13.327 に答える
0

NSStringオブジェクトは編集できません。不変です。代わりにNSMutableStringを使用する必要があります。

于 2012-11-09T14:02:29.170 に答える
0

Xcode9•Swift4以降

文字列から文字を削除する次の2つの方法:

dropLast()はオプションを返すため、nilにすることができます。 removeLast()はオプションではなく最後の文字を返すため、文字列が空の場合はクラッシュします。

let string = "Hello World"

let substring1 = String(string.dropFirst())            // "ello World" 
let substring2 = String(string.dropFirst(2))           // "llo World" 

let substring3 = String(string.dropLast())             // "Hello Worl"
let substring4 = String(string.dropLast(2))            // "Hello Wor"
于 2020-01-21T08:36:35.160 に答える