我正在尝试转义字符串以换到新行,即\n。例如,假设字符串为:-
First Line Of String
second Line of String
Third Line of String
现在如果我使用字符串扩展名
func escapeString() -> String{
newString = self.stringByRemovingPercentEncoding
return newString
}
这个扩展没有给予我newString作为
First Line Of String\nSecond Line Of String\nThird Line Of String
我需要上述字符串作为jsonString传递给服务器。即,我必须将其编码为字符串
2条答案
按热度按时间hec6srdp1#
"雨燕5"
您可以使用
JSONEncoder
转义\n、\、\t、\r、'“等字符,而不是手动替换字符串中的这些字符,例如:输出:
z4iuyo4d2#
stringByRemovingPercentEncoding
代表percent encoding as used in URLs,正如你从名称中所预期的那样。(如果不是从名称中所预期的,也可能是从阅读文档中所预期的,其中的相关部分甚至会出现在Xcode代码完成中。)也就是说,它接受一个类似于“some%20text%20with%20spaces”的字符串,并将其转换为“some text with spaces”。如果你想做一个不同类型的字符替换,你需要自己去做。但是这仍然可以是一行代码:
注意
self.stringByReplacingOccurrencesOfString
的第一个参数是传递给Swift编译器的转义码,因此该参数的实际值是换行符(ASCII/UTF8 0x 0A)。第二个参数转义反斜杠(在传递给Swift编译器的文本中),因此该参数的实际值是文本\n
。