我面临一个与字符串中的一些十六进制值相关的问题,我需要从 NSString 中删除十六进制字符。
问题是当我打印对象时它打印为“空白行”。在 Debug模式下,它显示为:
那么我怎样才能从字符串中删除它呢?
编辑
修剪空格:
NSLog 的结果是:
2015-12-14 15:37:10.710 MyApp [2731:82236] tmp:''
数据库:
之前的问题:
how to detect garbage string value in ios?
最佳答案
由于您的数据集显然包含垃圾值,您可以使用此方法检查您的字符串是否有效。定义您的验证标准,不要接受垃圾值。但是正如 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/34263427/