相关疑难解决方法(0)

Objective-C:在字符串中查找数字

我有一个包含单词和数字的字符串.如何从字符串中提取该数字?

NSString *str = @"This is my string. #1234";
Run Code Online (Sandbox Code Playgroud)

我希望能够将1234剥离为int.每次搜索时,字符串都会有不同的数字和单词.

想法?

iphone objective-c nsnumber nsstring ios

38
推荐指数
3
解决办法
3万
查看次数

iphone sdk - 从字符串中删除除数字0-9之外的所有字符

好的,这就是计划.我从中获取数据的XML允许电话号码字段中的非数字文本(用于描述或联系人姓名等).我试图只提取数字并用它们调用tel:URL来发起呼叫.这是什么不工作:

NSCharacterSet *charset = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
NSString *number = @"(555) 555-5555 Office";
NSString *strippedNumber = [number stringByTrimmingCharactersInSet:charset];
NSString *phoneURL = [NSString stringWithFormat:@"tel:%@", strippedNumber];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneURL]];
Run Code Online (Sandbox Code Playgroud)

如果有任何明显的拼写错误,他们只是错别字.:)

iphone nsstring

16
推荐指数
3
解决办法
1万
查看次数

如何从objective-c中的电话号码中删除非数字字符?

这是我第一次尝试制作ios应用程序.

我正在使用人物选择器向用户询问电话号码,但是当它使用下面的代码检索时,我的NSString *phoneapears如(0)111192222-2222.我来自巴西,这里正确的手机号码掩码是(01111)92222-2222(9是可选的,有些数字有其他人没有).如何修复这个面膜?或者完全删除它?

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier
{
    ABMultiValueRef multiValue = ABRecordCopyValue(person, property);
    CFIndex index = ABMultiValueGetIndexForIdentifier(multiValue, identifier);
    NSString *phone = (__bridge NSString *)ABMultiValueCopyValueAtIndex(multiValue, index);
    return NO;
}
Run Code Online (Sandbox Code Playgroud)

objective-c phone-number

14
推荐指数
1
解决办法
8601
查看次数

可可缺少什么?

如果你可以向Cocoa添加任何东西,它会是什么?是否有任何功能,主要或次要,你会说在Cocoa中缺少.也许有一个轮子你不得不反复发明因为框架中的遗漏?

cocoa cocoa-touch api-design objective-c

13
推荐指数
2
解决办法
1494
查看次数

如何从Swift中的String中删除数字

我有一个类似的字符串"75003 Paris, France""Syracuse, NY 13205, USA".

我想使用相同的代码从这些字符串中删除所有这些数字.

我怎样才能做到这一点?

string numbers swift

9
推荐指数
1
解决办法
4489
查看次数

NSNumberFormatter格式化美国电话号码

我正在尝试将用户输入的一串数字转换为iPhone上的Phone.app等性感字符串.这是我正在使用的代码,它不起作用(没有特殊格式出现),并且在一定数量的数字后,它只是开始在字符串的末尾添加"0".

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterNoStyle];
[formatter setPositiveFormat:@"+# (###) ###-###"];
[formatter setLenient:YES];
NSString *strDigits = [self stringByReplacingOccurrencesOfRegex:@"[^0-9+]" withString:@""];
return [formatter stringFromNumber:[NSNumber numberWithDouble:[strDigits doubleValue]]];
Run Code Online (Sandbox Code Playgroud)

iphone cocoa cocoa-touch objective-c

8
推荐指数
2
解决办法
1万
查看次数

iphone sdk - 从字符串中删除除字符az之外的所有数字

在我的应用程序中,我想从字符串中删除除字符az之外的数字.我怎样才能获得角色?

string iphone

7
推荐指数
1
解决办法
5684
查看次数

iPhone:如何从Objective-C中的货币符号字符串中获取数字

我试图从带有货币符号的字符串中获取数字(浮点值).

例如.从"¥1,234"到1234从"AU $ 3,456"到3456从"56.78€"到56.78

我尝试了以下代码,但结果是0.

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[formatter setLenient:YES];
NSNumber *number = [formatter numberFromString:text];
NSDecimalNumber *money = [NSDecimalNumber decimalNumberWithDecimal:[number decimalValue]];
float fval = [money floatValue];
Run Code Online (Sandbox Code Playgroud)

提前致谢!

formatting nsnumberformatter ios

7
推荐指数
1
解决办法
4602
查看次数

从电话号码中删除格式以获取数字的好方法是什么?

是否有更好或更短的方法在iPhone上使用Objective-C去除所有非数字字符?

NSString * formattedNumber = @"(123) 555-1234";
NSCharacterSet * nonDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];

NSString * digits;
NSArray * parts = [formattedNumber componentsSeparatedByCharactersInSet:nonDigits];
if ( [parts count] > 1 ) {
    digits = [parts componentsJoinedByString:@""];
} else {
    digits = [parts objectAtIndex:0];
}
return digits;
Run Code Online (Sandbox Code Playgroud)

iphone cocoa

6
推荐指数
1
解决办法
415
查看次数

从Obj-C中的字符串中提取数字

我是Objective-C的新手,但在其他更高级的语言方面经验丰富.我想通过删除所有非数字字符来规范化字符串.换句话说,给定输入字符串"206-555-1212",归一化结果应为"2065551212".下面的代码片段有效,但鉴于我在其他语言中的经验似乎有点矫枉过正.有没有更好的方法呢?

编辑:输入字符串"(206)555-1212","206.555.1212","206 555 1212"等也应返回相同的标准化结果.

NSString * normalize(NSString * number)
{
    NSString *normalizedNumber = @"";
    NSString *tmpString = nil;

    NSRange searchRange;
    NSRange resultRange;
    searchRange.location = 0;
    searchRange.length = number.length;

    while (0 < searchRange.length)
    {
        resultRange = [number rangeOfCharacterFromSet:[NSCharacterSet decimalDigitCharacterSet]
                                        options:NSLiteralSearch
                                          range:searchRange];
        tmpString = [number substringWithRange:resultRange];
        normalizedNumber = [normalizedNumber stringByAppendingString:tmpString];
        searchRange.location = resultRange.location + resultRange.length;
        searchRange.length = number.length - searchRange.location;
    }

    return normalizedNumber;
}
Run Code Online (Sandbox Code Playgroud)

string objective-c normalization nsstring

3
推荐指数
2
解决办法
4848
查看次数

从NSString获取数字

我有一个像@"(256) 435-8115"或的字符串@"256-435-81-15".我只需要数字(这是一个电话号码).这可能吗?我还没有找到一种NSString方法来做到这一点.

cocoa-touch nsstring

1
推荐指数
1
解决办法
761
查看次数

iOS:删除NSDecimalNumber中的千位分隔符以进行编辑

我的十进制数存储在我的数据库中.我根据用户的区域设置显示它们:

- (NSString *) getLocalizedCurrencyStringWithDigits
{
    NSNumberFormatter *numberFormatter =[[NSNumberFormatter alloc] init];
    [numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
    [numberFormatter setLocale:[NSLocale currentLocale]];
    [numberFormatter setMinimumFractionDigits:2];
    [numberFormatter setMaximumFractionDigits:2];

    NSString *numberString = [numberFormatter stringFromNumber:self];

    return numberString;
}
Run Code Online (Sandbox Code Playgroud)

我在文本字段中显示这些字符串,这些字符串是可编辑的.因此,如果用户开始编辑该字段,我想删除千位分隔符.否则(在我的国家)我输入1'000.55然后它不识别"'"并仅保存1.这是我的功能来解析文本字段,在视图控制器中这个确切的返回值将保存到数据库:

+ (NSDecimalNumber *) getUnLocalizedDecimalNumberWithString:(NSString *)currencyString
{
    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
    [numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
    [numberFormatter setLocale:[NSLocale currentLocale]];
    [numberFormatter setMinimumFractionDigits:2];
    [numberFormatter setMaximumFractionDigits:2];

    BOOL isDecimal = [numberFormatter numberFromString:currencyString] != nil;
    if(isDecimal){
        return [NSDecimalNumber decimalNumberWithString:currencyString locale:[NSLocale currentLocale]];
    } else {
        return [NSDecimalNumber zero];
    }
Run Code Online (Sandbox Code Playgroud)

但是,我没有让它工作......实际上,如果带有"'"和不带的数字将被正确保存,但我不能让它工作,那将是最好的:/

编辑(我的解决方案): 让它像这样工作:

- (NSString *) getLocalizedCurrencyStringWithDigits:(int)digits
{
    NSNumberFormatter *numberFormatter …
Run Code Online (Sandbox Code Playgroud)

localization objective-c nsnumberformatter ios

1
推荐指数
2
解决办法
1999
查看次数

转换iPhone电话号码格式以获得"可拨号"字符串

我正在构建一个iphone应用程序,它从地址簿中读取一个电话号码并拨打它(当然还有其他一些东西...... :)).当我从AB加载电话号码时,它们采用以下格式:"1(111)111-1111"使用时不能"拨号":

fullNumber = [NSString stringWithFormat:@"%@%@", @"tel:", phoneNum];
Run Code Online (Sandbox Code Playgroud)

为什么会这样?什么是最好的方法来解决这个问题?我怎么能将电话号码转换成一串数字(没有空格或" - ")?

谢谢.

iphone xcode objective-c nsstring ios

0
推荐指数
1
解决办法
2679
查看次数