【问题标题】:Add Carriage Return to NSString将回车添加到 NSString
【发布时间】:2011-11-15 15:53:16
【问题描述】:

我制作了一个将数据发送到 SQL 数据库的应用程序。数据通过具有多行的 UITextView 发送。

通常 Windows 将输入(换行符)视为十六进制 0D0A。
0D = 回车
0A = 换行

现在应用只发送 0A 十六进制换行符。不是 0D 回车。如何将 0A(换行)替换为 0D0A(回车,换行)?

【问题讨论】:

  • 该应用程序是 Objective-C 还是 C#?请删除不相关的标签。
  • 您使用的是 C# 和 .NET,还是 iPad 上的 Objective C?你似乎不太可能同时做这两件事。
  • 我正在使用objective c来编写应用程序。但我使用 C# 和 .NET 将数据插入到我的 MsSQL 数据库中。

标签: objective-c ipad ascii


【解决方案1】:

无论您将数据发送到 SQL 数据库的何处,都将 UITextView 的内容分配给 NSMutableString,然后将任何换行符替换为 CRLF。然后,您可以将 NSMutableString 转发到您的数据库。

例如

NSMutableString * stringToSend = [[NSMutableString alloc] initWithString: yourTextView.text];
if(stringToSend)
{
    [stringToSend replaceOccurencesOfString: @"\r" withString: @"\r\n" options: NSBackwardsSearch range: NSMakeRange(0, [stringToSend length])];
    //  now you can send this string to your database
}

【讨论】:

  • 感谢您的回复迈克尔!我要试试看。
  • 嗯..这似乎不起作用。我和你一样写了确切的代码。但我的 MsSQL 数据库中仍然只有一个换行符。
  • 代码replaceOccurencesOfString: @"\r" 应该是replaceOccurencesOfString: @"\n"。 \r = CR 和 \n = LF。
【解决方案2】:

我已经在我的 C# .NET 环境中修复了它。

string.Replace("\n", Enviroment.NewLine);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多