2014-02-19 202 views
0

我想解析一個奇怪的方式NSString,我無法弄清楚如何做到這一點(但我懷疑它會需要正則表達式)。我有一個NSString,其中包含一些沒有空白的文本,例如:「Thisisatest」。我需要將這個文本解析爲一系列兩個字符,最好放到NSCountedSet中,因爲我需要它們出現的次數。在上面的字符串中,輸出將是:Th-1,hi-1,is-2,si-1,sa-1,at-1,te-1,es-1,st-1。我最終需要爲三個角色(Thi-1,他的-1,isi-1,...)和一組四個角色(This-1,hisi-1,...)組成一組。能夠設置是否忽略大小寫會是獎金。非常感謝!字符串解析多個字符

+3

聽起來不錯。馬上行動,做到這一點。問題是什麼? – matt

+2

只需通過它們的NSRange('substringWithRange:')來拾取子字符串即可。我不明白正則表達式是如何涉及的。這純粹是蠻力。 – matt

+0

您可能還會發現['NSScanner'](https://developer.apple.com/library/mac/documentation/cocoa/reference/foundation/classes/NSScanner_Class/Reference/Reference.html)可用於此任務。 – user1118321

回答

0

沒關係。經過多次試驗和錯誤,我得到了這個工作:

NSCountedSet *digraphSet = [NSCountedSet set]; 

for (NSUInteger n = 0; n <= [text length]; n++) 
{ 
    NSRange range; 
    range.location = n; 
    range.length = 2; 

    if (n + 2 <= [text length]) 
    { 
     [digraphsSet addObject:[text substringWithRange:range]]; 
    } 
} 
+0

我看不出涉及到試驗和錯誤。你所做的正是我在評論中所描述的 - 三天前。 – matt