2

私は特定の問題を抱えています:

NSSTringにこの値「abcdef ghil」があります。最初の文字がスペースであるかどうかを確認して削除し(stringbyreplace...?)、他のスペース(「f」から「g」まで)に挿入したい「-」

手伝って頂けますか?

参考になれば; この文字列をテキストフィールドから取得します...

4

2 に答える 2

4

以下は、単一の先頭または末尾の空白文字だけでなく、先頭の空白だけでなく末尾の空白も削除するという警告とともに、あなたが望むことを行います。

NSString *original = @" abcdef ghil";
NSString *trimmed = [original stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSString *final = [trimmed stringByReplacingOccurrencesOfString:@" " 
                                                     withString:@"-"];

先頭の空白のみを削除したい場合は、おそらくこの前の質問を確認する必要があります: Cocoa - NSString からすべての先頭の空白を削除する

更新:文字列の先頭にある単一のスペースのみを削除したい場合は、次のようにします。

NSString *original = @"  abcdef ghil";

NSString *trimmed = [original stringByReplacingOccurrencesOfString:@" "
                                                        withString:@"" 
                                                           options:0 
                                                             range:NSMakeRange(0, 1)];

NSString *final = [trimmed stringByReplacingOccurrencesOfString:@" " 
                                                     withString:@"-"];
于 2012-04-22T11:10:40.810 に答える
0

最初の空白を削除するには、次を使用できます。

- (NSString *)stringByReplacingCharactersInRange:(NSRange)range withString:(NSString *)replacement

NSMakeRange(0, 1) で作成された範囲では、これは位置 0 で長さ 1 です。最初の " " を "" に置き換えます。

この出力を使用すると、次のように簡単に実行できます。

- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement

これにより、すべての " " が "-" に置き換えられます。

于 2012-04-22T11:12:44.260 に答える