在我的项目中我有字符串假设NSString * str = @“$ 120.00”;
从上面的字符串我得到每个单独的字符,现在我必须得到字符串中的所有整合,即$不是整数所以我不想要那个,“1”是一个整数我想要这样。我怎么能这样做可以帮助我
谢谢
答案 0 :(得分:2)
您可以获取数字字符集,然后使用它来检查您的字符:
NSCharacterSet* digits = [NSCharacterSet decimalDigitCharacterSet];
if([digits characterIsMember: yourCharacter]) {
...
}
答案 1 :(得分:1)
Unbeli的答案可能是你想要的最好的答案,这是一个恰好代表整数的字符数组。
但是,如果您的最终目标是重新组合您已拉出的所有整数字符,我建议使用正则表达式。 Cocoa没有用于替换的正则表达式包装器,但是您应该能够使用标准的C <regex.h>
代码; Obj-C毕竟是一个超集。
但是在你的例子中你会得到12000,而120可能就是你所追求的。在这种情况下,我会试试[str intValue]
。
答案 2 :(得分:0)
// gcc foo.m -framework Foundation
int main()
{
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
NSString* str = @"$ 120.00";
const char* p = [str cStringUsingEncoding:[NSString defaultCStringEncoding]];
while( *p )
{
if( isdigit( *p ) )
{
NSLog(@"%c", *p );
}
p++;
}
[pool release];
}