我需要根据单词拆分字符串。这个词可能是任何大小写,我需要保留子字符串数组的大小写。例子:
- 字符串可能是
a)“我的名字是 XYZ,我住在 ABC。” 或
b) “我的名字是 XYZ,我住在 ABC。” 或
c) “我的名字是 XYZ,我住在 ABC。” - 现在,分隔字符串可能是“and” OR “AND” OR “And”。
- 在我的代码中,我不知道在 a)、b) 和 c) 中使用了哪个字符串。
- 问题是如何将字符串分隔为“我的名字是 XYZ”和“我住在 ABC”。分别。
您可以使用
NSRange range = [string rangeOfString:@" and " options: NSCaseInsensitiveSearch];
以不区分大小写的方式查找分隔字符串的位置,然后使用
if (range.location != NSNotFound) {
NSString *first = [string substringToIndex:range.location];
NSString *last = [string substringFromIndex:(range.location + range.length)];
} else {
// separator not found ...
}
尝试使用这个
NSString *string1 = @"My name is XYZ and I live in ABC.";
NSRange range = [string1 rangeOfString:@"And" options:NSCaseInsensitiveSearch];
if (range.location != NSNotFound)
{
NSString *firstStr = [string1 substringToIndex:range.location];
NSString *secondStr = [string1 substringFromIndex:range.location+range.length];
NSLog(@"firstString : %@",firstStr);
NSLog(@"SecondStr : %@",secondStr);
}
输出
firstString : 我的名字是 XYZ
SecondString:我住在 ABC。
你知道你会用哪个词作为你的锚来分裂吗???
假设你这样做,并说它的“AND”。
做这个。
tempString = [mainString lowercaseString];
range = [tempString rangeOfSubstring:anchor];