0

私は次のような文字列を持っています:

1 this is my first text 2 his is my second 3 this is my third 4 this is my forth etc etc..

各文は数字の間にありますcharacters like 1 2 3 4 etc

最初の文をタップすると、それを分析してクリップボードなどにコピーする必要があります。NSScannerまたはNSRangeを使用して、文字列サイズを計算したり、数字間の文字列を識別したりするにはどうすればよいですか。

self.multiPageView.text = Combined; 結合には上記のようなテキストが含まれているので、最初の文をタップすると、タップした文に一致するUIAlertViewを選択して表示する必要があります。これは、ibookのように、数字の間にある文をタップピンで検出する方法です。これらのタイプのテキストを表示するためにコアテキストを使用しています。

4

2 に答える 2

0

Likeを使用NSScanner-

NSString *yourString = @"1 this is my first text 2 his is my second 3 this is my third 4 this is my forth";

NSScanner *scanner = [NSScanner scannerWithString:yourString];

[scanner scanUpToString:@"1" intoString:nil];
if (![scanner isAtEnd]) {
    [scanner scanUpToString:@"1" intoString:nil];
    NSCharacterSet *charset = [NSCharacterSet characterSetWithCharactersInString:@"2"];
    [scanner scanUpToCharactersFromSet:charset intoString:&yourString];
}
于 2012-05-19T06:57:17.560 に答える
0

これを試してみると、すべての文字列が区切られた配列が得られます。使用している数字でセットを埋める必要があります。

    NSString *str1 = @"1 this is my first text 2 his is my second 3 this is my third 4 this is my forth";
    NSMutableCharacterSet *set = [NSMutableCharacterSet controlCharacterSet];
    [set addCharactersInString:@"1"];
    [set addCharactersInString:@"2"];
    [set addCharactersInString:@"3"];
    [set addCharactersInString:@"4"];
    NSArray *arr = [str1 componentsSeparatedByCharactersInSet:set];
于 2012-05-19T07:12:17.253 に答える