草庐IT

iphone - NSPredicate,带引号/不带引号

coder 2023-09-30 原文

在我的 iPhone 应用程序中,我正在读取一个 csv 文件。相关行是这样的:

NSString *countrycode = [[[NSString alloc] initWithFormat:@"%@", [arr objectAtIndex:2]] 
                                 stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

这将返回“CN”(代表中国)。

当我这样做时:

NSLog(@"Manual: %@, country code: %@",@"CN",countryCode);

我得到:

Manual: CN, country code: "CN"

一个有引号,另一个没有。我不知道这是为什么。

这让我感到困惑的原因如下:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"countrycode == %@ ", @"CN"];

这很好用,并从 Core Data 返回中国。

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"countrycode == %@ ", countrycode];

这没有返回任何东西。我假设这是因为它周围有引号或其他东西,尽管我可能不正确。

我在这里做错了什么?

最佳答案

实际上,格式化谓词以排除引号的正确方法是使用 %K 而不是 %@。参见 Predicate Format String Syntax .

关于iphone - NSPredicate,带引号/不带引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6597995/

有关iphone - NSPredicate,带引号/不带引号的更多相关文章

  1. ruby - 用逗号、双引号和编码解析 csv - 2

    我正在使用ruby​​1.9解析以下带有MacRoman字符的csv文件#encoding:ISO-8859-1#csv_parse.csvName,main-dialogue"Marceu","Giveittohimóhe,hiswife."我做了以下解析。require'csv'input_string=File.read("../csv_parse.rb").force_encoding("ISO-8859-1").encode("UTF-8")#=>"Name,main-dialogue\r\n\"Marceu\",\"Giveittohim\x97he,hiswife.\"\

  2. ruby -\'(反斜杠,单引号)在 Ruby 字符串中 - 2

    我正在使用Ruby1.8.7,试图生成一个带有\'字符的字符串,以便创建一个在MySQL中运行的脚本。结果应该是这样的:INSERTINTOtable(name,description)values('Joanad\'Arc','')但我不能在ruby​​字符串中只得到一个反斜杠。使用以下代码:string="INSERTINTOtable(name,description)values('Joanad\\'Arc','')"我得到了以下字符串:INSERTINTOtable(name,description)values('Joanad\\'Arc','')还有:string="IN

  3. ruby-on-rails - 第 1 行中的引号缺失或遗漏 (CSV::MalformedCSVError) - 2

    我在ruby​​/rails中导入此CSV文件时遇到问题我得到的错误信息是这样的:Missingorstrayquoteinline1(CSV::MalformedCSVError)但我不确定发生了什么,因为我的CSV看起来非常好。以下是示例数据:"lesley_grades","lesley_id","last","first","active","site","cohort","section","sections_title","faculty","completed_term_cred","term","sec_start_date","sec_end_date","grade

  4. ruby - 艰难地学习 Ruby 第 9 章三重引号 - 2

    ZedShaw的LearnRubytheHardWay第9章使用三重双引号:puts"""There'ssomethinggoingonhere.Withthethreedouble-quotes.We'llbeabletotypeasmuchaswelike.Even4linesifwewant,or5,or6."""我试着用单双引号写同样的东西,它似乎工作正常。我不明白三引号和单双引号之间的区别。我错过了什么吗? 最佳答案 我不知道他为什么在他的书中使用三重双引号。它们没什么特别的,一个双引号就可以了。这是ruby​​的一个鲜为

  5. ruby-on-rails - ruby:将数组的每个元素用附加引号引起来 - 2

    我有以下字符串:a="001;Barbara;122"我拆分成字符串数组:names=a.split(";")names=["001","Barbara","122"]我应该怎么做才能将每​​个元素另外用''引号括起来?结果应该是names=["'001'","'Barbara'","'122'"]我知道这听起来很奇怪,但我需要它在ruby​​onrails中进行数据库查询。出于某种原因,如果我的名字在“”引号中,我将无法访问数据库记录。我在数据库中确实有mk1==0006但rails不想以某种方式访问​​它。但是,它确实访问1222。sql="SELECTmk1,mk2,pk1,pk

  6. ruby - ruby 中的反引号与系统 - 2

    根据我在网上的所有阅读,backtick和system之间的区别是返回的内容。backtick返回STDOUT而system返回true或false。我被告知他们都使用subshel​​l来执行操作。但是我注意到另一个不同之处。output=system('aaa')puts"outputis:#{output}"output=`aaa`puts"outputis:#{output}"上面代码的结果是$rubytest.rboutputis:lab.rb:4:in``':Nosuchfileordirectory-aaa(Errno::ENOENT)fromtest.rb:4:in`'

  7. ruby-on-rails - 如何使 Rails 3 JSON 解析双引号字符串和单个数字 - 2

    背景关于json.org网站,字符串定义为"char+",其中char+是一个或多个char。char是除"或\之外的任何unicode字符。控制字符的子集是允许的,只需将它们转义即可:“foo”“2”“\\”在Javascript中,如果要解析一个字符串,需要将其括起来:"\"foo\""或'"foo"',但不是"'foo'"在Rails3中,JSONgem默认运行C或纯Ruby代码。根据接受的答案,gem解析JSON文档而不是元素。文档是键、值(对象/哈希)或值(数组)形式的集合。问题字符串假设我们要解析字符串foo,我们需要将其括为"\"foo\""或'"foo"'JSON.pa

  8. ruby - 有没有办法匹配两个双引号内的双引号? - 2

    我尝试了以下正则表达式,但它匹配所有双引号:(?>(?这是文本的示例:"[\"mycarslastnight\",\"Burger\",\"Decaf\"shirt\",\"Mocha\",\"marshmallows\",\"CoffeeMission\"]"我要匹配的模式是第2行中双引号之间的双引号 最佳答案 一般来说,我会说:不。给定一个字符串:\"Burger\"\"Decaf\"shirt\"你如何确定哪个\"是多余的(不匹配的)?这个是在Burger之后,还是在Decaf之后,还是一个在shirt之后?还是在任何这些词之

  9. ruby-on-rails - Ruby 单引号与双引号 - 2

    是否有某种Rubyto_s方法可以将变量更改为单引号字符串而不是双引号?说我有date=Time.nowdate.to_s我希望输出为“2012-08-0122:00:15”。我该怎么做呢?或者有没有一种方法可以将""字符串转换为''字符串?谢谢!编辑-更多细节我正在使用Rails显示数据库中的一些数据。我已经将@instanceVar创建为我的Controller/模型中的数组数组。我需要event.date是一个单引号字符串。只是将单词event.date添加到数组中,然后将日期放在双引号中。EDIT2$.jqplot('trendingEvents',,{#optionsgohe

  10. ruby - 用字符串中的撇号替换单引号 (Ruby) - 2

    我的用户有时输入的不是撇号('),而是看起来像撇号(‘)的符号,这会导致数据库出现一些问题。我试着用gsub替换它们,如下所示:result.gsub(/\‘/,"'")result.gsub(/‘/,"'")这些选项都不起作用-出现错误:syntaxerror,unexpected$end,expecting')'returnresult.gsub(/\‘/,"'").gsub("’","'")^它们是Ruby保留的吗?我该如何替换它们? 最佳答案 如果您的文本编辑器不直接支持像‘这样的UTF-8字符,您可以通过这种方式转义它们:

随机推荐