如何查找和替换字符串中的符号?

时间:2010-11-11 11:55:14

标签: iphone objective-c cocoa-touch string

我知道这一定是一件非常简单的事情,但我从来没有必须处理字符串(在Objective-C中),显然在Cocoa-Touch上没有RegEx。

嗯,情况是:

  • 我有一个文本字段来获取值(金钱,例如32.10)。

问题:

  • 如果用户输入符号,例如@,/,#等,我的应用程序将崩溃。

问题:如果有符号,我该如何处理此字符串以删除符号?

3 个答案:

答案 0 :(得分:4)

你可以试试这个:

NSString *s = @"12.827#@584";
NSCharacterSet *removeCharSet = [NSCharacterSet characterSetWithCharactersInString:@"/:@#"];
s = [[s componentsSeparatedByCharactersInSet: removeCharSet] componentsJoinedByString: @""];
NSLog(@"%@", s);

答案 1 :(得分:1)

你在Cocoa Touch中获得正则表达式。

这里有一个关于iOS中不同程度的正则表达能力的很好的讨论,最后的块示例应该可以帮助你完成大部分工作。

http://volonbolon.net/post/861427732/text-handling-in-ios-4

答案 2 :(得分:0)

我理解你正在试图找出UITextFields的text属性中包含的数字,并将其分配给一个浮点变量。

尝试使用NSScanner:

NSScanner* textScanner = [NSScanner localizedScannerWithString:textfield.text];
float* floatValue;
[textScanner scanFloat:&floatValue];

floatValue现在包含文本字段的已解析浮点值。