我面临一个与字符串中的某些十六进制值相关的问题,我需要从 NSString 中删除十六进制字符。
问题是当我打印对象时,它打印为“空白行”。在 Debug模式下,它显示为:
那么我怎样才能将它从字符串中删除呢?
编辑
NSLog 的结果是:
2015-12-14 15:37:10.710 MyApp [2731:82236] tmp :''
数据库:
最佳答案
由于您的数据集明显包含垃圾值,您可以使用此方法来检查您的字符串是否有效。定义您的验证标准,并且不要接受垃圾值。但正如 gnasher 之前建议的那样,您应该寻找导致数据库中插入垃圾数据的错误。完成此操作后,检查输入字符串是否符合您定义的条件。如果是的话,就做你想做的事。如果没有,只需继续。
-(BOOL) isValidString: (NSString*) input
{
NSMutableCharacterSet *validSpecialChars = [NSMutableCharacterSet characterSetWithCharactersInString:@"_~.,"];//Add your desired characters here
[validSpecialChars formUnionWithCharacterSet:[NSCharacterSet alphanumericCharacterSet]];
return [[input stringByTrimmingCharactersInSet:validSpecialChars] isEqualToString:@""];
}
如果您的字符串仅包含您定义的字符,它将返回 true。如果它包含任何其他字符(垃圾或无效),它将返回 false。
关于ios - 如何从 NSString 中删除十六进制字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34264135/