【发布时间】:2011-04-06 12:42:02
【问题描述】:
我有一个 NSString 对象,我想通过定位一个单词来从中创建一个子字符串。
例如,我的字符串是:“The dog ate the cat”,我希望程序找到单词“ate”并创建一个子字符串,即“the cat”。
谁能帮帮我或举个例子?
谢谢,
Sagiftw
【问题讨论】:
标签: objective-c string nsstring substring
我有一个 NSString 对象,我想通过定位一个单词来从中创建一个子字符串。
例如,我的字符串是:“The dog ate the cat”,我希望程序找到单词“ate”并创建一个子字符串,即“the cat”。
谁能帮帮我或举个例子?
谢谢,
Sagiftw
【问题讨论】:
标签: objective-c string nsstring substring
NSRange range = [string rangeOfString:@"ate"];
NSString *substring = [[string substringFromIndex:NSMaxRange(range)] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
【讨论】:
NSString *str = @"The dog ate the cat";
NSString *search = @"ate";
NSString *sub = [str substringFromIndex:NSMaxRange([str rangeOfString:search])];
如果您想修剪空白,您可以单独进行。
【讨论】:
NSString *theNewString = [receivedString substringFromIndex:[receivedString rangeOfString:@"Ur String"].location];
你可以搜索一个字符串,然后将搜索到的字符串变成另一个字符串...
【讨论】:
这样怎么样? 这几乎是一样的。 但是如果这样写,NSRange 的含义可能对初学者来说更容易理解。
最后还是jtbandes的解决方案
NSString *szHaystack= @"The dog ate the cat";
NSString *szNeedle= @"ate";
NSRange range = [szHaystack rangeOfString:szNeedle];
NSInteger idx = range.location + range.length;
NSString *szResult = [szHaystack substringFromIndex:idx];
【讨论】:
-(BOOL)Contains:(NSString *)StrSearchTerm on:(NSString *)StrText
{
return [StrText rangeOfString:StrSearchTerm options:NSCaseInsensitiveSearch].location==NSNotFound?FALSE:TRUE;
}
【讨论】:
试试这个..
BOOL isValid=[yourString containsString:@"X"];
此方法返回真或假。如果您的字符串包含此字符,则返回 true,否则返回 false。
【讨论】:
您可以使用 NSString 类中提供的两种方法中的任何一种,例如 substringToIndex: 和 substringFromIndex:。将 NSRange 作为您的长度和位置传递给它,您将获得所需的输出。
【讨论】: