我是ios开发新手。
NSString *newString2 = [aString stringByReplacingOccurrencesOfString:@"1," withString:@""];
我的问题是我不知道如何检查任何数字,即stringByReplacingOccurrencesOfString:@"anyInt,
“其中任何 Int 是integer
从 1 到 N 的任何数字。
提前致谢!
我是ios开发新手。
NSString *newString2 = [aString stringByReplacingOccurrencesOfString:@"1," withString:@""];
我的问题是我不知道如何检查任何数字,即stringByReplacingOccurrencesOfString:@"anyInt,
“其中任何 Int 是integer
从 1 到 N 的任何数字。
提前致谢!
使用正则表达式是最好的解决方案:
NSError *error;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[1-9]" options:NSRegularExpressionCaseInsensitive error:&error];
NSString *modifiedString = [regex stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@""];
查看官方NSRegularExpression 文档,这里也有很好的教程
正则表达式可能是最简单的解决方案。无论您想删除单个数字还是多个数字,正则表达式都可以提供帮助。
NSString *aString = @"Apple 10, Banana 3, Carrot 5, Durian 42, Eggplant 4,";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[0-9]+," options:0 error:NULL];
NSString *newString = [regex stringByReplacingMatchesInString:aString options:0 range:NSMakeRange(0, [aString length]) withTemplate:@""];
NSLog(@"%@", newString);
// result should be "Apple Banana Carrot Durian Eggplant "
正则表达式起初可能看起来难以理解或难以理解,但这仅仅是因为它们在搜索和替换文本方面非常强大。查看 NSRegularExpression 文档的概述部分以获取更多信息。
如果要检查范围然后要替换,请使用以下 api:-
- (NSString *)stringByReplacingCharactersInRange:(NSRange)range withString:(NSString *)replacement
只需这两行即可从字符串中删除所有数字。
NSCharacterSet *numbers = [NSCharacterSet
characterSetWithCharactersInString:@"0123456789"];
NSString *newString = [[tempstr componentsSeparatedByCharactersInSet: numbers] componentsJoinedByString:@""];
对于第一部分中的编号大于 0,显示第二部分。对于第一部分中的 0,显示 --。
试试下面的代码,
NSString * aString = @"1,10";
NSString *newString2;
NSArray *items = [aString componentsSeparatedByString:@","];
if([[items objectAtIndex:0] integerValue]>0)
newString2 = [items objectAtIndex:1];
else
newString2 = @"--";
为什么要检查 Integer 的存在,因为最终您会将其替换为''
. 所以只需使用下面的行
NSString *newString2 = [aString stringByReplacingOccurrencesOfString:[NSString StringWithFormat:@"%d", anyInt], withString:@""];
以上行将满足您的要求。