2011-08-12 15 views
2

文字列書式設定ドキュメントを見ましたが、これを行う方法を正確に把握できませんでした。NSStringを切り捨てる方法は?

@"01-05"@"Operations on the nervous system"

私はこれをどのように操作を行うことができます。

は、私はそうのような本から2つの文字列を作成したい私はこの

@"(01–05) Operations on the nervous system"

のような刺すを考えてみましょうか? http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Strings/Articles/FormatStrings.html

+1

私はあなたがそれを考えていると思います。 NSStringドキュメントを見てください。 – Dancreek

答えて

2

このショットを投稿してください。それは少し離れているかもしれない、私は誤植をチェックしなかった。しかし、あなたは今考えを得ることができます。

NSString * sourceString = @"(01–05) Operations on the nervous system"; 

NSString *string1 = [sourceString substringToIndex:6]; 
string1 = [string1 stringByReplacingOccurrencesOfString:@"(" withString:@""]; 

//string1 = 01-05 

NSString *string2 =[sourceString substringFromIndex:7]; 

//string2 = Operations on the nervous system 
+1

最初の部分文字列の長さをハードコーディングしています。 – Abizern

+0

ええ、ありがとう私はすでにそれを知っている!私は彼が探していたものを正確に彼に贈りました。彼はダイナミックなやり方を求めましたか?いいえ、もしあなたがそうだったら、おそらくダウンボトムしてはいけません。 – Louie

1

NSStringの* theFirstStringSubString = [NSStringのsubstringFromIndex:1]ここ

は私が見たドキュメントです。

NSString * theFirstStringSecondSubstring = [TheFirstStringSubString substringToIndex:6];

今、theFirstStringSecondSubstringは01-05 ですが、異なるインデックスでは同じことです。これらはオートリリースされた文字列であることに注意してください。あなたがそれらを保持したい場合は、それを保持します。

+0

これは私には役に立たなかった。私はそれをplistからUITableViewセルのテキストに適用しようとしています。これは 'theFirstStringSecondSubstring'の' theFirstStringSubString'と '08-16)'に対して '08-16)目での操作'を与えています。 –

+0

o私の悪いは6ではありません。私が言ったように、最初のものです。もう1つはインデックスを数えることです。文字列が変更された場合 NSString * theFirstStringSubString = [originalString substringFromIndex:8]; NSString * theFirstStringSecondSubstring = [TheFirstStringSubString substringToIndex:[originalString length] -1]; –

2

あなただけの文字が含まれている最初の部分文字列をしたい場合は、「(」と「)」と何でもその後、私はこのような何かをやってお勧めします:もちろん

NSString *original = @"(01–05) Operations on the nervous system"; 
NSString *firstPart = [NSString string]; 
NSString *secondPart = [NSString string]; 
NSScanner *scanner = [NSScanner scannerWithString:original]; 

[scanner scanUpToString:@"(" intoString:NULL];   // find first "(" 
if (![scanner isAtEnd]) { 
    [scanner scanString:@"(" intoString:NULL];   // consume "(" 
    [scanner scanUpToString:@")" intoString:&firstPart]; // store characters up to the next ")" 
    if (![scanner isAtEnd]) { 
     [scanner scanString:@")" intoString:NULL];  // consume ")" 

     // grab the rest of the string 
     secondPart = [[scanner string] substringFromIndex:[scanner scanLocation]]; 
    } 
} 

SECONDPART文字列NSScannerを使用する利点は、あなたがハードコードする必要がないということです

secondPart = [secondPart stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]; 

:まだあなたがの線に沿って何かを行うことができ、それらを取り除くために、それの前にもろもろのスペースを持っているとします星tとfirstPart部分文字列の終わりです。

関連する問題