在我的一些字符串上似乎有一些新行字符。我认为情况就是这样,因为当我做一个简单的NSLog
NSLog(@"Test: %@",aNSMutableString);
我会得到如下的输出
Test:
I am a String
我尝试过使用
[mutableString stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];
但它并没有删除任何迫使新线发生的事情。
在我检查新字符串长度的情况下,从具有4个字符'm3u8'的文件解析的字符串中有5个字符。
任何人都知道可能会发生什么?
由于 -code
P.S。 我知道我可以从我的所有琴弦中删除第一个字符,但感觉就像一个黑客,我仍然不知道发生了什么。
答案 0 :(得分:3)
[mutableString stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];
以上内容不会直接修改您的mutableString
。它会返回一个新的自动释放的NSString
,并修剪掉字符。见NSString doc。
e.x。
NSString *trimmedString = [mutableString stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];
NSLog(@"Test: %@", trimmedString);
应该给你预期的结果。
答案 1 :(得分:0)
我认为@Sam的答案会解决您的问题,但我认为问题的根源是文件来源。你知道它是如何编码的吗?它是下载的一部分吗?我的猜测是你有一个带有“\ n \ r”终止行的Windows文件,你正在使用打破“\ n”的Unix字符串工具,从而留下一个领先的“\ r”。
验证文件的来源并使用适当的编码读取文档行。