假設我有一個字符串「167282」。我如何檢查字符串是否包含「128」?是否有任何規定知道匹配第一個字符串的第二個字符串的百分比? (如果第二個字符串中的所有字符都存在於第一個字符串中)請提前幫助和thanx。檢查一個nsstring是否與另一個字符串匹配
2
A
回答
6
使用以下:
NSString *compareString = @"128";
NSCharacterSet *compareCharSet = [NSCharacterSet characterSetWithCharactersInString:@"167282"];
NSUInteger strLen = [compareString length];
NSUInteger matchingCount = 0;
for (NSUInteger i = 0; i < strLen; ++i) {
if ([compareCharSet characterIsMember:[compareString characterAtIndex:i]])
++matchingCount;
}
float percentMatching = matchingCount/(float)strLen;
凡matchingCount將在compareString中匹配一個字符,字符「167282」的號碼@和percentMatching將總字符%的compareString那場比賽。這是,盡我所知,你打算用你的問題 - 百分比匹配的概念不會有任何意義,否則。
1
您總是可以使用NSString方法rangeOfString:
來檢查您的原始字符串是否包含您想要的子字符串。該方法將返回一個NSRange
與子的原始字符串中的位置:如果
[@"12345" rangeOfString:@"123"]; // Gives range {0, 3}
[@"12345" rangeOfString:@"345"]; // Gives range {2, 3}
[@"12345" rangeOfString:@"678"]; // Gives range {NSNotFound, 0}
這僅適用於該子是原始字符串中完全包含。
至於「數量正確」,您可以使用返回範圍的length
屬性以及原始字符串的長度來查看子字符串包含的原始字符串的哪一部分。例如:
NSRange r = [@"1234" rangeOfString:@"1"]; // Range {0, 1}
float portion = (float)r.length/(float)[@"1234" length]; // Gives 0.25f
請記住,這將土崩瓦解,如果子被重複 - 檢查@"1"
爲@"111"
子字符串將只給予第一次出現,這意味着它會要求該字符串爲「33%正確「通過這種方法。根據您的預期用途,這可能會或可能不是您想要的。
5
您可以使用NSString
的rangeOfString
方法來確定字符串是否包含另一個字符串,如this question on the Apple Mailing Lists的答案所示。
if ([@"167282" rangeOfString:@"128"].location != NSNotFound) {
NSLog(@"String contains '128'.");
}
else {
NSLog(@"String doesn't contain '128'.");
}
相關問題
- 1. 檢查字符串是否與另一個字符串部分匹配
- 2. 檢查一個字符串是否與另一個字符串中的所有字符匹配
- 3. 檢查一個NSString是否是一個html字符串?
- 4. 檢查一個字符串是否與另一個字符串相似
- 5. 檢查是否匹配的下一個字符匹配
- 6. 檢查一個字符串是否匹配模式
- 7. 使用模式(不是字符串)檢查另一個字符串是否與正則表達式匹配
- 8. 爪哇 - 檢查是否字符串在另一個字符串
- 9. 檢查字符串是否以另一個字符串開頭?
- 10. 一個字符串查找是否有另一個字符串
- 11. 檢查是否匹配字符串我有一個字符串定義
- 12. 有效檢查一個字符串是否包含另一個字符串
- 13. 檢查一個字符串是否以另一個字符串開頭
- 14. 檢查一個字符串是否包含另一個字符串
- 15. 如何檢查一個字符串是否等於另一個字符串?
- 16. 檢查一個字符串是否包含另一個字符串
- 17. 給定一個字符串序列,檢查它是否匹配一個模式
- 18. 用PHP匹配一個字符串到另一個字符串
- 19. 是否有可能檢查一個字符串是否與數組或字典中的字符串匹配,Swift?
- 20. C - 檢查字符串是否是另一個字符串的子字符串
- 21. 檢查一個字符串(字)是否是另一個字符串(字)的子集,與序列無關
- 22. 檢查字符串是否與PHP中的另一個字符串類似?
- 23. 檢查一個字符串是否與Java中的特定MessageFormat匹配?
- 24. 檢查一個字符串是否與特定的正則表達式匹配
- 25. 檢查一個字符串是否與數組中的任何值匹配?
- 26. 如何:檢查一個字符串是否包含另一個字符串的另一部分,然後檢索匹配的字符
- 27. 位字符串:檢查一個位串是否是另一個位的子集
- 28. 檢查字符串是否匹配url
- 29. 如何檢查一個字符串是否至少包含另一個字符串中的一個字符?
- 30. 給定一個字符串,如何檢查前幾個字符是否是另一個字符串? C++
嗨Shyam,這是一個網站,您可以提前thanx,當有人回答你的問題,確保你回來,並給他們一個upvote,並在適當時將其標記爲答案。 – 2009-11-23 09:44:50