1

私は文字列を持っています

「アベニーダインディアノポリス、1000」

「AvenidaIndianopolis、1000」を入手する必要があります

これどうやってするの?

4

4 に答える 4

2

正規表現を使用して、すべてを1つのスペースで2つ以上のスペースに置き換えることができます。

 {2,}

例:

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@" {2,}" options:0  error:NULL];

NSMutableString *string = [NSMutableString stringWithString:@"Avenida Indianopolis      , 1000"];
[regex replaceMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@" "];

ただし、この例では、これによりコンマの前にスペースが生じるため、実際にはスペースを何も置き換えないでください(または、入力文字列の状態に応じて、文字列に対して2回目のパスを実行し、スペース+コンマをクリーンアップします。形成された)

于 2013-01-08T12:44:15.530 に答える
1

試す

NSString *str = "Avenida Indianopolis &nbsp &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp, 1000";
str = [str stringByReplacingOccurrencesOfString:@"&nbsp" withString:@""]; 

&nbspの代わりにスペースが存在する場合は、これを試してください

NSString *str = "Avenida Indianopolis    , 1000";
str = [str stringByReplacingOccurrencesOfString:@"     " withString:@""]; 
于 2013-01-08T12:32:15.233 に答える
0

これを試して

NSString *string = @"Avenida Indianopolis &nbsp &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp, 1000";
string = [string stringByReplacingOccurrencesOfString:@"&nbsp" withString:@""];
string = [string stringByReplacingOccurrencesOfString:@"&nbsp " withString:@""];

それがあなたを助けることを願っています。

編集

NSString *string = @"Avenida Indianopolis &nbsp &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp, 1000";
string = [string stringByReplacingOccurrencesOfString:@"     " withString:@" "];
于 2013-01-08T12:33:16.553 に答える
0

これの鍵は、「、」の前のすべてのスペースを削除する必要があることだと思います。

そのためには、正規表現@ "+、"を使用します。1つ以上のスペースの後にコンマが続きます。

NSRegularExpression *re = [NSRegularExpression regularExpressionWithPattern:@" +," options:0 error:NULL];

NSMutableString *data = [NSMutableString stringWithString:@"Avenida Indianopolis      , 1000"];
[re replaceMatchesInString:data options:0 range:NSMakeRange(0, data.length) withTemplate:@","];

STAssertEqualObjects(data, @"Avenida Indianopolis, 1000", nil);
于 2013-01-08T12:56:28.810 に答える