3

我有一个字符串,我需要从中删除所有数值。所以例如

H1 --> H
Thi2341s i34s a876 57834tes9873t --> This is a test

等等……

我试过这个方法...

NSString *newString = [string stringByReplacingOccurrencesOfString:@"[^0-9]" withString:@""];

...虽然它没有成功地从字符串中删除数字。我猜这 @"[^0-9]" 不是一个有效的事件。关于如何在不为每个数字复制该方法十次的情况下实现这一目标的任何想法?

4

2 回答 2

11

您必须指出应该使用正则表达式搜索:

NSString *newString = [string stringByReplacingOccurrencesOfString:@"[0-9]" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, string.length)];

并注意正则表达式需要是[0-9],不是[^0-9]。您所说的“除数字 0-9 之外的任何字符”。

于 2013-08-08T00:03:52.117 回答
1

而是使用:

– replaceOccurrencesOfString:withString:options:range:

例如:

NSMutableString *myString = [NSMutableString stringWithString:@"a123xy45678z"];
[myString replaceOccurrencesOfString:@"[0-9]+"
                          withString:@""
                             options:NSRegularExpressionSearch
                               range:NSMakeRange(0, [myString length])];
于 2013-08-08T00:05:59.123 回答