Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 将当前日期与编码字符串进行比较_Swift_String - Fatal编程技术网

Swift 将当前日期与编码字符串进行比较

Swift 将当前日期与编码字符串进行比较,swift,string,Swift,String,我有不同语言的json响应,我想比较一天;当我选择土耳其语时,它会得到如下响应: sunday = { day = Pazar; timings = ( { endTime = "23:59:00"; id = 100000174; startTime = "11:58:00"; } ); }; wednesday = { day = "\U00

我有不同语言的json响应,我想比较一天;当我选择土耳其语时,它会得到如下响应:

sunday = {
    day = Pazar;
    timings = (
                    {
            endTime = "23:59:00";
            id = 100000174;
            startTime = "11:58:00";
    }
    );
};
wednesday = {
    day = "\U00e7ar\U015famba";
    timings = (
                    {
            endTime = "22:00:00";
            id = 100000177;
            startTime = "13:00:00";
    }
    );
};

I want to compare them the following way:

if(day.lowercased() == “\U00e7ar\U015famba”) {
    //get Wednesday day
    //this condition work in Sunday Dictionary
}

但它向我显示错误“无效转义序列”和“闭包表达式未使用”。

在Swift中,转义序列后面的十六进制值需要用大括号括起来(用小写形式表示):

这就是你犯错误的原因

但是,如果要与不遵循此格式的JSON返回的值进行比较,则需要双转义\U以将它们作为普通字符串进行比较:

if day.lowercased() == "\\U00e7ar\\U015famba" {
 ...
}

谢谢你。我可以知道你是怎么知道这是十六进制字符串的吗?太好了,很乐意帮忙!unicode转义\u在Swift中始终后跟一个4位十六进制字符串,但您通常也可以判断是否有一组由数字0-9和字母a-F组成的字符。是否尝试对反斜杠进行双转义?
if day.lowercased() == "\\U00e7ar\\U015famba" {
 ...
}