我面临一个与字符串中的一些十六进制值相关的问题,我需要从 NSString 中删除十六进制字符。

问题是当我打印对象时它打印为“空白行”。在 Debug模式下,它显示为:ios - 如何从 NSString 中删除十六进制字符-LMLPHP

那么我怎样才能从字符串中删除它呢?

编辑

修剪空格:
ios - 如何从 NSString 中删除十六进制字符-LMLPHP

NSLog 的结果是:

2015-12-14 15:37:10.710 MyApp [2731:82236] tmp:''

数据库:

ios - 如何从 NSString 中删除十六进制字符-LMLPHP

之前的问题:
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/

10-11 22:27
查看更多