NSString *myString = @"A B C D E F G";
Boşlukları kaldırmak istiyorum, böylece yeni dize "ABCDEFG" olur.
Yanıtlar:
Kullanabilirsin:
NSString *stringWithoutSpaces = [myString
stringByReplacingOccurrencesOfString:@" " withString:@""];
Aynı anda birden fazla alanı desteklemek veya herhangi bir beyaz alanı desteklemek istiyorsanız, şunu yapabilirsiniz:
NSString* noSpaces =
[[myString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
componentsJoinedByString:@""];
A B C D E F
Alındığı NSString
stringByReplacingOccurrencesOfString:withString:
Alıcıdaki bir hedef dizenin tüm oluşumlarının başka bir belirli dizeyle değiştirildiği yeni bir dize döndürür.
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement
Parametreler
hedef
The string to replace.
değiştirme
The string with which to replace target.
Geri dönüş değeri
Alıcıdaki tüm hedef oluşumlarının değiştirmeyle değiştirildiği yeni bir dize.
Yukarıdakilerin hepsi iyi çalışacaktır. Ancak doğru yöntem şudur:
yourString = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
TRIM yöntemi gibi çalışacaktır. Tüm ön ve arka boşlukları kaldıracaktır.
Teşekkürler
[NSCharacterSet whitespaceCharacterSet]ve [NSCharacterSet whitespaceAndNewlineCharacterSet].
dizge değiştirilebilir ise , bu formu kullanarak yerine dönüştürebilirsiniz:
[string replaceOccurrencesOfString:@" "
withString:@""
options:0
range:NSMakeRange(0, string.length)];
Bu, sonucun bir giriş dizesinin değiştirilebilir bir örneği olmasını istiyorsanız da yararlıdır:
NSMutableString * string = [concreteString mutableCopy];
[string replaceOccurrencesOfString:@" "
withString:@""
options:0
range:NSMakeRange(0, string.length)];
Bunu deneyebilirsin
- (NSString *)stripRemoveSpaceFrom:(NSString *)str {
while ([str rangeOfString:@" "].location != NSNotFound) {
str = [str stringByReplacingOccurrencesOfString:@" " withString:@""];
}
return str;
}
Umarım bu size yardımcı olur.