【问题标题】:iOS \n is getting removed from my stringiOS \n 正在从我的字符串中删除
【发布时间】:2015-07-29 16:34:36
【问题描述】:

test 在字符串中有我想继续拥有的 \n,但是当我将它放入我的 post 变量时它会被删除?

var test:NSString = myotherstring
var post:NSString = "username=\(MyVariables.username!)&mood=\(test)";
NSLog("PostData: %@",post);

当我打印出帖子时,它会删除我需要在我的字符串中包含的 \n。我为我的 PHP 脚本和 JSON 使用 post 将此值存储到我的数据库中。现在它存储没有 \n 的值,我希望它与 \n

一起存储

【问题讨论】:

  • 它没有被删除。你在下一行看到vv
  • 是的,但我需要它来为我的 php 脚本显示 \n。它没有保存在我的数据库中 \n
  • 你确定不是!?向我们展示您在哪里再次读取数据以及缺少 \n 的位置。
  • 您是否将其作为请求 URL 发布到某个服务器,或者您在哪里保存任何内容?

标签: ios objective-c xcode swift


【解决方案1】:

NSString 中的\n 被替换为newline character。如果你想实际打印字符 \ 后跟字符 n,你应该使用 "\\n" (第一个 \ 转义第二个)

【讨论】:

  • 感谢大卫,这使我走上了正确的道路。我想通了并发布了答案,但由于您提供的解释,我会将其标记为最佳答案
【解决方案2】:

NSLog 会将\n 视为换行符。但否则该字符串将使用\n 保留。这可能有点令人困惑,但你必须相信\n 就在那里。

【讨论】:

  • 我不相信 \n 存在,因为它在我的数据库中存储它的方式与在 NSLog 上显示的方式相同
  • 您的数据库可能还将\n 显示为换行符。如果您仍然不相信,请从数据库中读回并逐个迭代字符。
  • 同意,我也是这么想的。您是否尝试过将字符串导出到文本文件以查看其是否出现?可能不是最好的检查方法,但这是目前唯一想到的方法
  • @Ryan 我不得不用 \\n 替换 \n。 \n 被逃脱了
【解决方案3】:

我想通了。

 let newString = test.stringByReplacingOccurrencesOfString("\n", withString: "\\n", options: NSStringCompareOptions.LiteralSearch, range: nil)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多