首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组件:@“\r\n”不适用于NSString

组件:@“\r\n”不适用于NSString
EN

Stack Overflow用户
提问于 2014-03-20 18:49:23
回答 3查看 1.1K关注 0票数 1
代码语言:javascript
复制
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
NSString *URLString = [[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSArray *temp = [URLString componentsSeparatedByString:@"\r\n"];
return YES;}

这不会拆分字符串,尽管预览显示\r\n仍在字符串中。有什么建议吗?

输入URL示例- myapp://bla\r\nbla

下面是替换% esc并由‘\r\n’拆分后的字符串:

以下是替换%esc之前的url:

我怀疑换掉百分之百的逃逸应该做点什么。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-20 19:08:10

根据Eduardo,但更接近您的代码,如下所示:

代码语言:javascript
复制
NSString *URLString = @"myapp://bla\r\nbla";
NSArray *temp = [URLString componentsSeparatedByString:@"\r\n"];
NSLog(@"%@", temp);

产出:

代码语言:javascript
复制
2014-03-20 12:05:17.247 Untitled 3[437:507] (
    "myapp://bla",
    bla
)

您的传入字符串是否可能包含文字四字符序列\r\n,它将被写入为@"\\r\\n",而不是两个控制代码的序列\r\n?

票数 2
EN

Stack Overflow用户

发布于 2014-03-20 19:09:33

尝试以下几点

代码语言:javascript
复制
NSArray *temp = [URLString componentsSeparatedByString:@"\\r\\n"];

您的初始URLString不能包含CR。它只包含两个符号:'\r‘和'\n’。

票数 1
EN

Stack Overflow用户

发布于 2014-03-20 18:53:50

它在预览中显示"\r\n“吗?这样做是可行的:

代码语言:javascript
复制
NSLog(@"%@", [@"abc\r\ndef" componentsSeparatedByString:@"\r\n"]);

如果您的代码不工作,是否确定您的字符串不包含"\r\n“而不是"\r\n"?

编辑:所以“未转义”我的双斜杠

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22542436

复制
相关文章

相似问题

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