2012-08-07 261 views
1

如何搜索字符串值来查找字符串值?将字符串网址与字符串值进行比较

字符串URL:

http://localHost:8070/serviceCase=ActiveService 
http://localHost:8070/serviceCase=KoplService 

字符串值:

ActiveService 

我需要打印确实有 “主动服务” 的网址!

回答

1

你也许可以做这样的事情(如果您的网址确实是一个字符串):

if ([url rangeOfString:value].location == NSNotFound){ 
    dosomething 
} else { 
    doSomethingElse 
} 
0
if([string hasSuffix:@"ActiveService"]) { 
      // Do your stuff 
} 
0
NSString *url = @"http://localHost:8070/serviceCase=ActiveService"; 

if ([url rangeOfString:@"ActiveService"].location != NSNotFound) { 
    NSLog(@"URL has the string"); 
} 
0

我推荐下面的NSString类别。

NSString+Extend.h

#import <Foundation/Foundation.h> 

@interface NSString (Extend) 
- (BOOL)containsString:(NSString *)aString ignoringCase:(BOOL)flag; 
- (BOOL)containsString:(NSString *)aString; 
@end 

NSString+Extend.m

#import "NSString+Extend.h" 

@implementation NSString (Extend) 
- (BOOL)containsString:(NSString *)aString 
{ 
    return [self containsString:aString ignoringCase:NO]; 
} 

- (BOOL)containsString:(NSString *)aString ignoringCase:(BOOL)flag 
{ 
    unsigned mask = (flag ? NSCaseInsensitiveSearch : 0); 
    return [self rangeOfString:aString options:mask].length > 0; 
} 
@end 

#import "NSString+Extend.h" 

NSString *url = @"http://localHost:8070/serviceCase=ActiveService"; 
NSString *findString = @"ActiveService"; 

BOOL isContains = [url containsString:findString]; 
if(isContains) 
{ 
    //do stuff 
} 
else 
{ 
    //do stuff 
} 
+0

这是一个很好的解决方案,但它确实取决于必须做字符串比较的数量。如果我们只是谈论代码中的几个地方,我认为你的解决方案有点矫枉过正。 – Jesper 2012-08-07 11:50:32

+0

我知道。但是,当我测试性能比较rangeOfString没有OverKill。当稍后使用KMP算法时,我将创建类别。 – 2012-08-07 11:55:43

相关问题