首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较一个看起来应该不起作用的字符串

比较一个看起来应该不起作用的字符串
EN

Stack Overflow用户
提问于 2011-01-13 10:58:12
回答 2查看 240关注 0票数 1

当我NSLog我的字符串的内容时,它输出:

代码语言:javascript
复制
m3u8

不出所料。因为这就是我解析成字符串的内容。

稍后,当我做一些比较,检查字符串是否等于m3u8时,它们会失败。

代码语言:javascript
复制
NSRange match;
match = [aRadio.streamType rangeOfString: @"m3u8"];
if (match.location == NSNotFound) 
{
    NSLog(@" m3u8 Not MATCHED: %@",aRadio.streamType);
    //break;
}

if ([aRadio.streamType compare:@"m3u8" ] == NSOrderedSame)
{

    NSLog(@" m3u8 DETECTED: %@",aRadio.streamType);
}
else 
{
    NSLog(@"NO m3u8 DETECTED %@",aRadio.streamType);
    [self createStreamer];
    [streamer start];
}

NSLogs显示第一次检查有匹配项,第二次检查没有检测到。

我希望他们都能看到字符串包含m3u8,正如Radio.streamType在NSLogs中输出的内容所确认的那样。

这就是我声明stramType的方式

代码语言:javascript
复制
@property (nonatomic, retain) NSString *streamType;

有人能解释这种奇怪的行为是从哪里来的吗?

谢谢-Code

编辑

代码语言:javascript
复制
NSLog(@"Str len: %d",[aRadio.streamType length]); 

输出5作为长度。

我试着在这里修剪换行符的字符串

代码语言:javascript
复制
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 
{ 

if(!currentElementValue) 
{
    currentElementValue = [[NSMutableString alloc] initWithString:string];
}
else
{   
    [currentElementValue appendString:string];
    [currentElementValue stringByTrimmingCharactersInSet:[NSCharacterSet 
newlineCharacterSet]];
    [currentElementValue stringByTrimmingCharactersInSet:[NSCharacterSet 
whitespaceAndNewlineCharacterSet]];
    [currentElementValue stringByTrimmingCharactersInSet:[NSCharacterSet 
controlCharacterSet]];
    [currentElementValue stringByTrimmingCharactersInSet:[NSCharacterSet 
nonBaseCharacterSet]];
    NSLog(@"Processing Value: %@", currentElementValue);
}   
}

但是NSLog(@"Processing Value:%@",currentElementValue);仍然换行符显示'm3u8‘currentElementValue中包含的内容

谢谢-Code

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-13 13:38:46

您可能希望尝试使用isEqualToString:之类的东西进行文字比较。当然,还有更高级的选项,它们引入了区域设置、折射率、不区分大小写等参数--这取决于您需要什么。

票数 1
EN

Stack Overflow用户

发布于 2011-01-13 12:28:58

尝试通过以下方式比较字符串

代码语言:javascript
复制
if ([aRadio.streamType caseInsensitiveCompare:@"m3u8"] == NSOrderedSame)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4676379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档