-1
A
回答
0
我已經找到了解決辦法
NSArray *arrayOne = [prettyFunctionString componentsSeparatedByString:@"["];
NSString *parsedOne = [arrayOne objectAtIndex:1];
NSArray *arrayTwo = [parsedOne componentsSeparatedByString:@"]"];
NSString *parsedTwo = [arrayTwo objectAtIndex:0];
NSArray *arrayThree = [parsedTwo componentsSeparatedByString:@" "];
NSString *className = [arrayThree objectAtIndex:0];
NSString *functionName = [arrayThree objectAtIndex:1];
感謝反正
+0
如果有人有更好的解決方案,請發帖 – sulabh
0
也許這樣的事情可能會爲你工作
NSString * string = @"sometext[string1 string2]sometext";
NSString * pattern = @"(.*)\[(.+) (.+)\](.*)"
NSRegularExpression * expression = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:NULL];
NSTextCheckingResult * match = [expression firstMatchInString:string options:NSMatchingReportCompletion range:NSMakeRange(0, string.length)];
if (match) {
NSString * substring1 = [string substringWithRange:[match rangeAtIndex:2]];
NSString * substring2 = [string substringWithRange:[match rangeAtIndex:3]];
// do something with substring1 and substring2
}
0
你可以使用這個簡單的方法途徑
NSString *str = @"sometext[string1 string2]someText";
NSInteger loc1 = [str localizedStandardRangeOfString:@"["].location;
NSInteger loc2 = [str localizedStandardRangeOfString:@"]"].location;
NSString *resultString = [str substringWithRange:(NSRange){loc1+1,loc2-loc1}];
NSArray *resultArry = [resultString componentsSeparatedByString:@" "];
結果數組將包含您所需的Reuslt
0
爲了完整性 - 如果您嘗試從已知模式的字符串中提取字符串,則需要使用NSScanner
。
這通過一次通過字符串。
NSString *string = @"sometext[string1 string2]someText";
NSScanner *scanner = [NSScanner scannerWithString:string];
NSString *str1;
NSString *str2;
[scanner scanUpToString:@"[" intoString:nil]; // Scan up to the '[' character.
[scanner scanString:@"[" intoString:nil]; // Scan the '[' character and discard it.
[scanner scanUpToCharactersFromSet:[NSCharacterSet whitespaceCharacterSet] intoString: &str1]; // Scan all the characters up to the whitespace and accumulate the characters into 'str1'
[scanner scanUpToCharactersFromSet:[NSCharacterSet alphanumericCharacterSet] intoString:nil]; // Scan up to the next alphanumeric character and discard the result.
[scanner scanUpToString:@"]" intoString:&str2]; // Scan up to the ']' character, accumulate the characters into 'str2'
// Log the output.
NSLog(@"First String: %@", str1);
NSLog(@"Second String: %@", str2);
這使輸出到控制檯:
2015-09-23 11:31:02.522 StringExtractor[46678:4289499] First String: string1
2015-09-23 11:31:02.522 StringExtractor[46678:4289499] Second String: string2
相關問題
- 1. 從字符串中提取所有出現的特定字符
- 2. 提取特定字符串變量之間的字符串
- 3. T-sql子字符串函數提取特定的字符串
- 4. 從另一字符串中提取字符串兩個特定字符
- 5. VB2010從數組字符串中提取特定字符
- 6. 在java中使用字符串:提取特定字符串
- 7. 獲取字符串的特定字符
- 8. 如何提取特定的字符串
- 9. sed的 - 提取特定字符串中
- 10. 提取特定的字符串
- 11. 提取字符串特定的格式
- 12. 提取字符串的字符串值
- 13. 從字符串獲取特定字符
- 14. 特定字符串識別與提取
- 15. 如何提取特定字符串
- 16. 從字符串中提取特定值
- 17. 從特定字符串提取信息
- 18. 從字符串中提取字符串
- 19. 從包含特殊字符的字符串中提取子串
- 20. 從字符串中提取特別匹配的子字符串
- 21. 如何從cpp中給定的字符串中提取特定的字符串?
- 22. 從字符串中的特定字符串模式中提取數字
- 23. 將字符串提取到SQL Server中的特定字符
- 24. 如何取出特定字符串
- 25. 特定字符串出現時的Java子字符串字符串
- 26. sed提取出特定分隔符之間出現的每一個字符串
- 27. 從字符串中提取hashtag直到出現特殊字符
- 28. 如何在字符串的特定子字符串之後獲取字符串?
- 29. PHP/MySQL提取字符串中特定的一段文字
- 30. 從特定字符的數組中的字符串獲取值?
什麼是你'sometext'那是一個'Array'還是什麼? – Praveenkumar
其字符串文本 – sulabh
您可以使用'NSRegularExpression'或'rangeOfString:'。你有什麼嘗試? – Larme