私は文字列を持っています
「アベニーダインディアノポリス、1000」
「AvenidaIndianopolis、1000」を入手する必要があります
これどうやってするの?
私は文字列を持っています
「アベニーダインディアノポリス、1000」
「AvenidaIndianopolis、1000」を入手する必要があります
これどうやってするの?
正規表現を使用して、すべてを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回目のパスを実行し、スペース+コンマをクリーンアップします。形成された)
試す
NSString *str = "Avenida Indianopolis         , 1000";
str = [str stringByReplacingOccurrencesOfString:@" " withString:@""];
&nbspの代わりにスペースが存在する場合は、これを試してください
NSString *str = "Avenida Indianopolis , 1000";
str = [str stringByReplacingOccurrencesOfString:@" " withString:@""];
これを試して
NSString *string = @"Avenida Indianopolis         , 1000";
string = [string stringByReplacingOccurrencesOfString:@" " withString:@""];
string = [string stringByReplacingOccurrencesOfString:@"  " withString:@""];
それがあなたを助けることを願っています。
編集
NSString *string = @"Avenida Indianopolis         , 1000";
string = [string stringByReplacingOccurrencesOfString:@" " withString:@" "];
これの鍵は、「、」の前のすべてのスペースを削除する必要があることだと思います。
そのためには、正規表現@ "+、"を使用します。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);