我是新的iOS開發人員,我正在尋找一個解決方案來比較兩個字符串忽略開頭或結尾的空格。例如,「Hello」==「Hello」應該返回true。比較字符串忽略空格在開頭或結尾
我已經爲一個解決方案進行了serached,但是我沒有在Swift中找到任何東西。由於
我是新的iOS開發人員,我正在尋找一個解決方案來比較兩個字符串忽略開頭或結尾的空格。例如,「Hello」==「Hello」應該返回true。比較字符串忽略空格在開頭或結尾
我已經爲一個解決方案進行了serached,但是我沒有在Swift中找到任何東西。由於
NSString *string1 = @" Hello";
//remove(trim) whitespaces
string1 = [string1 stringByReplacingOccurrencesOfString:@" " withString:@""];
NSString *string2 = @"Hello ";
//remove(trim) whitespaces
string2 = [string1 stringByReplacingOccurrencesOfString:@" " withString:@""]
// compare strings without whitespaces
if ([string1 isEuqalToString:string2]) {
}
所以,如果你想直接使用它 -
if ([[yourString1 stringByReplacingOccurrencesOfString:@" " withString:@""] isEuqalToString:[yourString2 stringByReplacingOccurrencesOfString:@" " withString:@""]]) {
// Strings are compared without whitespaces.
}
以上將刪除字符串的所有空格,如果你只想刪除開頭和結尾的空格,然後有幾個職位已經上市,您可以創建字符串的一個類別,如下面的堆棧溢出文章中提到 - How to remove whitespace from right end of NSString?
@implementation NSString (TrimmingAdditions)
- (NSString *)stringByTrimmingLeadingCharactersInSet:(NSCharacterSet *)characterSet {
NSUInteger location = 0;
NSUInteger length = [self length];
unichar charBuffer[length];
[self getCharacters:charBuffer];
for (location; location < length; location++) {
if (![characterSet characterIsMember:charBuffer[location]]) {
break;
}
}
return [self substringWithRange:NSMakeRange(location, length - location)];
}
- (NSString *)stringByTrimmingTrailingCharactersInSet:(NSCharacterSet *)characterSet {
NSUInteger location = 0;
NSUInteger length = [self length];
unichar charBuffer[length];
[self getCharacters:charBuffer];
for (length; length > 0; length--) {
if (![characterSet characterIsMember:charBuffer[length - 1]]) {
break;
}
}
return [self substringWithRange:NSMakeRange(location, length - location)];
}
@end
現在,一旦你有可用的方法,你可以調用這些在你的字符串修剪開頭和結尾的空間,如 -
// trim leading chars
yourString1 = [yourString1 stringByTrimmingLeadingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
// trim trainling chars
yourString1 = [yourString1 stringByTrimmingTrailingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
// trim leading chars
yourString2 = [yourString2 stringByTrimmingLeadingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
// trim trainling chars
yourString2 = [yourString2 stringByTrimmingTrailingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
// compare strings
if([yourString1 isEqualToString: yourString2]) {
}
我建議你用這個斯威夫特代碼字符串修剪空白開始:
stringToTrim.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
這是最好的解決方案 - 空白僅從開始和結束,而不是從字符串中間修剪。 「羅傑兔」成爲「羅傑兔」。 –
考慮修整的字符串。請參閱:http://stackoverflow.com/questions/5756256/objective-c-trim-spaces-from-end-of-a-string – Jack
這裏是一個鏈接到Swift中的字符串引用:http://www.learnswiftonline。 COM /參考導遊/串參考導換迅速/。搜索該頁面的「修剪」。 –