簡體   English   中英

目標C:在雙引號之間獲取子串

[英]Objective C: Get Substring between Double Quotes

什么是獲得雙引號之間的每個子串並使其成為數組的最佳方法?

例如,如果字符串(NSString)是:

@"abcd \"efgh\" ijklm \"no\" p \"qrst\" uvwx \"y\" z"

我希望結果如下:

{@"efgh", @"no", @"qrst", @"y"}

作為NSArray。

這應該讓你開始:

NSString *str = @"abcd \"efgh\" ijklm \"no\" p \"qrst\" uvwx \"y\" z";
NSMutableArray *target = [NSMutableArray array];
NSScanner *scanner = [NSScanner scannerWithString:str];
NSString *tmp;

while ([scanner isAtEnd] == NO)
{
    [scanner scanUpToString:@"\"" intoString:NULL];
    [scanner scanString:@"\"" intoString:NULL];
    [scanner scanUpToString:@"\"" intoString:&tmp];
    if ([scanner isAtEnd] == NO)
        [target addObject:tmp];
    [scanner scanString:@"\"" intoString:NULL];
}

for (NSString *item in target)
{
    NSLog(@"%@", item);
}

一種方法是使用componentsSeparatedByString:根據""來分割它們。這應該給你一個單詞數組,其數量應該是奇數。將所有偶數數字的單詞過濾成一個數組。這應該是你想要的數組。

或者看看NSPredicate

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM