3

すべての数値を削除する必要がある文字列があります。たとえば

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

などなど…

この方法を試した...

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

...文字列から数字を正常に削除できませんでしたが。@"[^0-9]" は有効なオカレンスではないと推測しています。桁ごとにメソッドを10回コピーせずにこれを達成する方法についてのアイデアはありますか?

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 に答える