NSString 格式问题自动附加 \x

NSString Format issue automatically append \x

我发现这样的事情出乎我的意料

代码

NSString *strCrown2 = @"T-#-B-DAC";

当我把断点放在那里并检查时,我发现如下图

有 \x ,它不是字符串的一部分

在控制台中显示 T-#-B-DAC 它是正确的

我的问题是为什么 \x 显示在那里?

因为#用于十六进制颜色的前缀

可以通过转义序列解决

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"

\x 用于数字的十六进制表示。

您可以按照 link 获取字符串说明符 here

编辑:- 我得到了你的解决方案,你看不到但是,尝试删除 -" 之前 # ,它会先删除一个 space 然后你的 "-" 将被删除。所以,在#

之前需要一个白色space

并且,根据 apple 文档,检查

NSRegularExpression

所以,它需要白色 space 之前 # 只要删除它一次,你将在调试时得到想要的输出。

希望这些信息对您有所帮助。

编辑:-

把这个写在你的 x 代码中,

NSString *strCrown2 = @"T-#-B-DAC";

我试过相同的字符串,可能是你没有使用 x-code 7。 我不像你那样,我认为它显示的是 unicode 字符串。 您可以在 info.plist 中添加字符串。它会起作用。

我解决了

之前

之后

我不知道这两个字符串怎么看起来一样