首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在目标-c中转义自定义字符

问在目标-c中转义自定义字符
EN

Stack Overflow用户
提问于 2020-07-16 20:43:30
回答 2查看 127关注 0票数 2

我在写macOS,而不是iOS,XCode 11。

我的应用程序允许在特定位置输入文本。这段文字可以是任何东西。一旦完成,它将输出csv,而csv将传递给我无法影响的外部进程。

问题:外部进程使用分号";“作为分隔符(csv的分隔方式不同)。如果用户写入分号,外部进程将失败。如果我手动在每个分号之前添加一个转义反斜杠到csv,然后将它传递给外部应用程序,它就能工作了。

我需要的是:让每个分号在最后的csv中用一个反斜杠转义。

我试过的

在编写csv之前,

  1. 用引号-
  2. 转义对象中的分号-c对整个文本进行转义,然后尝试stringByReplacingOccurrencesOfString (查找@";“替换为@”\;-编译器抛出转义字符未知的警告-

失败

感谢你的帮助

更新:我还尝试设置一个双反斜杠,如@Corbell所提到的,但这导致导出的CSV ->失败中的双反斜杠,我还尝试使用它的unicode字符设置一个反斜杠:

代码语言:javascript
复制
[NSString stringWithFormat:@"%C;",0x5C]; --> "\\;"

同样失败,并产生两个反斜杠在最后的CSV (在这里,我只需要一个)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-17 13:05:19

解决了。是CSV分析器增加了额外的转义字符。一旦解决了它就像一种魅力。

票数 0
EN

Stack Overflow用户

发布于 2020-07-16 21:00:17

在stringByReplacingOccurencesOfString调用中,第二个参数,尝试用反斜杠转义反斜杠,使其成为要插入的文字字符,即@"\\;" -否则编译器认为您试图将@"\;"指定为无效的转义序列(反斜杠-分号)。

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

https://stackoverflow.com/questions/62943188

复制
相关文章

相似问题

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