2010-06-28 32 views
1

我創建了自己的UITabBarController。NSString提取模式子字符串

另外我寫了幾行代碼來確定當前用戶。

E.g.如果我是當前用戶做/顯示此,否則做/顯示此等等...

格式模式是(名字姓氏)。

當前用戶的全名在「displayName」中。

這是我如何設置標籤的標題,取決於我在查看「我的」選項卡還是其他人的選項卡。

[activities setTitle:[viewingUser objectForKey:@「displayName」]];

我現在想只提取姓名和像這樣顯示出來:

「名字的」。

我知道substringToIndex和substringWithRange,但我似乎無法自己解決它。我認爲我只需要找到第一個並提取它與[[]]的部分。任何人都可以請我指出正確的方向嗎?

乾杯

回答

0

如果名字和姓氏之間用空格分隔,則只需執行以下語句,該語句返回一個NSArray,其中包含名字和姓氏。

[displayName componentsSeparatedByString:@" "] 
+0

是的,謝謝你。 我知道它的工作原理是這樣的: [code] NSCharacterSet * delimiter = [NSCharacterSet characterSetWithCharactersInString:@「」]; NSArray * splitString = [[ViewingUser objectForKey:@「displayName」] componentsSeparatedByCharactersInSet:delimiters]; NSString * xString = [splitString objectAtIndex:0]; //這包含名字 \t // NSString * yString = [splitString objectAtIndex:1]; //這包含姓氏 [/代碼] 可稱爲像這樣: [活動的setTitle:[的NSString stringWithFormat:@ 「%@%@」,xString,@ 「」觀「]]; – user367874 2010-06-28 02:23:24

0

看看在NSScanner文檔和相關的示例代碼。如果那是你唯一的數據集,那麼有更簡單的方法,但是,當你開始進入半複雜序列時,你需要其他更強大的解決方案。這就是爲什麼我要推薦NSScanner的原因。