NSString 格式问题自动追加 \x
Posted
技术标签:
【中文标题】NSString 格式问题自动追加 \\x【英文标题】:NSString Format issue automatically append \xNSString 格式问题自动追加 \x 【发布时间】:2016-04-26 07:44:22 【问题描述】:我发现这不是预期的事情
代码
NSString *strCrown2 = @"T-#-B-DAC";
当我在那里放置断点并检查我发现如下图所示
有 \x ,它不是字符串的一部分
在控制台显示T-#-B-DAC是正确的
我的问题是为什么 \x 显示在那里?
【问题讨论】:
我不认为 po 输出会造成任何问题:正确的你想要的 @Mile Alter 你有没有找到任何解决方案,我面临着类似的问题,这里没有一个答案对我有用。 @MilanGupta 在我的情况下,问题是,当我复制该文本时,一个隐藏字符也复制了不知道如何,我无法用字符集消除它,解决方案:我用键盘和工作 【参考方案1】:编辑:-我得到了你的解决方案,你看不到,但是,尝试删除 # 之前的“-”,它将首先删除一个空格,然后您的“-”将被删除。因此,它会在 # 之前占用一个空格
并且,根据苹果文档,检查
NSRegularExpression
所以,它会在 # 之前占用空格,一旦您在调试时获得所需的输出,就将其删除。
希望这些信息对您有所帮助。
编辑:-
把这个写在你的 x 代码中,
NSString *strCrown2 = @"T-#-B-DAC";
【讨论】:
试过但结果相同 -> NSString *strCrown2 = @"T#-B-DAC"; 你删除了一个空格吗? 仍然在那里添加\x10 没有空格 有。只是尝试删除 - 在 # 之前,所以它会删除一个空格。【参考方案2】:因为#是hex color的前缀
可以通过转义序列解决
NSString *strCrown2 = @"T-\#-B-DAC";
strCrown2 = [strCrown2 stringByReplacingOccurrencesOfString:@"\#" withString:@"200"];//outout:@"T-200-B-DAC"
您也可以只 # 不考虑 '\x' 值,如下所示
NSString *strCrown2 = @"T-#-B-DAC";
strCrown2 = [strCrown2 stringByReplacingOccurrencesOfString:@"#" withString:@"200"];//outout:@"T-200-B-DAC"
【讨论】:
以后会不会出问题? 您需要添加 \# 以将 # 打印为字符串 你为什么担心 NSLog 你想要显示正确输出的字符串对象,那么你为什么担心呢?【参考方案3】:\x 用于数字的十六进制表示。
您可以关注字符串说明符的链接here
【讨论】:
【参考方案4】:我尝试过相同的字符串,可能你没有使用 x-code 7。
我不像你,我认为它显示的是 unicode 字符串。
您可以在 info.plist
中添加字符串。它会起作用的。
【讨论】:
- 现在你得到了解决方案但我不明白,怎么可能以两种不同的方式使用相同的字符串? 两者都是不同的字符串,我检查了两者的长度,发现那里有一个隐藏字符,所以...【参考方案5】:我解决了
之前
之后
我不知道两个字符串看起来是一样的
【讨论】:
以上是关于NSString 格式问题自动追加 \x的主要内容,如果未能解决你的问题,请参考以下文章