我正在尝试用转义双引号(\“)替换双引号("),但在iOS 11中无法替换。在iOS 10之前也一样。我使用的是Xcode9.1。
示例:
从搜索栏输入:"Course“
NSString *modifedSearchString = [searchBar.text stringByReplacingOccurrencesOfString:@"\"" withString:@"\\""\""];预期输出:\"Course\“(一直工作到iOS 10)
iOS 11中的O/p:“课程”
有没有人遇到同样的问题?
提前感谢!!
发布于 2017-11-10 23:39:17
iOS 11在键盘设置中增加了“智能标点”(见截图)。
这意味着当输入"Course“时,它会将其转换为”Course“。'"‘被替换为’“‘和’”‘字符串。与默认引号相比,这些是不同的引号(智能引号)。
因此,一种选择可能是也将‘“’和‘”’替换为'\"‘。

发布于 2017-11-08 15:33:49
@KishanLal试试这个...
NSString *str = [NSString stringWithFormat:@"\"Course\""];
NSLog(@"str = %@", str); //str = "Course"
NSString *modifedSearchString = [str stringByReplacingOccurrencesOfString:@"\"" withString:@"\\""\""];
NSLog(@"output = %@", modifedSearchString); //output = \"Course\"https://stackoverflow.com/questions/47173523
复制相似问题