我正在尝试替换 NSString 中的一些转义 unicode。我对 CFString 函数没有任何运气,所以我想我会尝试正则表达式。
这是正则表达式
NSRegularExpression *regexUnicode2 = [NSRegularExpression regularExpressionWithPattern:@"(\\u([0-9A-Fa-f]){4}){2}" options:0 error:&error];
然后我尝试使用它来匹配
NSArray *twoEscapeArray = [regexUnicode2 matchesInString:selfCopy options:0 range:NSMakeRange(0, self.length)];
selfCopy 是输入字符串的可变副本。这是该字符串的一部分:
muestran al p\u00c3\u00bablico las encuadernaciones de las colecciones reales adem\u00c3\u00a1s de otros objetos hist\u00c3\u00b3ricos en relaci\u00c3\u00b3n con \u00c3\u00a9stas。
La muestra, thinkada a nivel mundial como uno de los conjuntos ligatorios hist\u00c3\u00b3ricos m\u00c3\u00a1s importantes, se completa con obras de arte como armas, alfombras y relojes。Estos son objetos que ayudan a entender la encuadernaci\u00c3\u00b3n como elemento basic de la cultura de corte。
Los fodos de la Real Biblioteca, del Real Monasterio de San Lorenzo de El Escorial, del Monasterio de Santa Mar\u00c3\u00ada la Real de las Huelgas de Burgos, del Monasterio de las
如果没有适当的转换,当我将这些转义的 unicode 对放入 UIWebView 时,它们将被视为单个字符(每对产生两个字符)。
这就是原始 JSON 数据的编码方式,我没有任何运气将其正确转换为拉丁字符。
无论如何,问题在于twoEscapeArray
匹配尝试后数组为零。我不确定为什么。