- 問題:在json字符串轉(zhuǎn)換為對(duì)象的時(shí)候報(bào)錯(cuò)砍艾,字面意思為 數(shù)據(jù)中出現(xiàn)了被控制- 的符號(hào)
- 解決思路:遍歷字符串,找到對(duì)應(yīng)的控制符,刪除之
- 代碼
+(NSString *)deleteControlCharacter:(NSString *)originalString{
NSMutableString *mstring = [NSMutableString stringWithString:originalString];
NSCharacterSet *controlChars = [NSCharacterSet controlCharacterSet];
NSRange range = [originalString rangeOfCharacterFromSet:controlChars];
while (range.location != NSNotFound){//包含
[mstring deleteCharactersInRange:range];//刪除
range = [mstring rangeOfCharacterFromSet:controlChars];//遞歸
}
return mstring;
}
完。
=========2020-08-31更新============
應(yīng)網(wǎng)友要求梦皮,添加swift版本
func deleteControlCharacter(oriString:String)-> String {
let ocStr = oriString as NSString
let ocMStr = NSMutableString.init(string: ocStr)
let set = CharacterSet.controlCharacters
var range = ocMStr.rangeOfCharacter(from: set)
while range.location != NSNotFound {
ocMStr.deleteCharacters(in: range)
range = ocMStr.rangeOfCharacter(from: set)
}
let resultStr = ocMStr as String
return resultStr
}