Ich muss Leerzeichen aus dem Ende einer Zeichenkette entfernen. Wie kann ich das tun? Beispiel: Wenn die Zeichenkette "Hello "
muss es werden "Hello"
Antworten
Zu viele Anzeigen?Aus dieser Antwort hier entnommen: https://stackoverflow.com/a/5691567/251012
- (NSString *)stringByTrimmingTrailingCharactersInSet:(NSCharacterSet *)characterSet {
NSRange rangeOfLastWantedCharacter = [self rangeOfCharacterFromSet:[characterSet invertedSet]
options:NSBackwardsSearch];
if (rangeOfLastWantedCharacter.location == NSNotFound) {
return @"";
}
return [self substringToIndex:rangeOfLastWantedCharacter.location+1]; // non-inclusive
}
Matt H.
Punkte
9832
Eine andere Lösung besteht darin, eine veränderbare Zeichenfolge zu erstellen:
//make mutable string
NSMutableString *stringToTrim = [@" i needz trim " mutableCopy];
//pass it by reference to CFStringTrimSpace
CFStringTrimWhiteSpace((__bridge CFMutableStringRef) stringToTrim);
//stringToTrim is now "i needz trim"
Alex
Punkte
181
Hier, bitte sehr...
- (NSString *)removeEndSpaceFrom:(NSString *)strtoremove{
NSUInteger location = 0;
unichar charBuffer[[strtoremove length]];
[strtoremove getCharacters:charBuffer];
int i = 0;
for(i = [strtoremove length]; i >0; i--) {
NSCharacterSet* charSet = [NSCharacterSet whitespaceCharacterSet];
if(![charSet characterIsMember:charBuffer[i - 1]]) {
break;
}
}
return [strtoremove substringWithRange:NSMakeRange(location, i - location)];
}
Rufen Sie es also einfach an. Angenommen, Sie haben eine Zeichenkette mit Leerzeichen am Anfang und Leerzeichen am Ende, und Sie wollen nur die Leerzeichen am Ende entfernen, dann können Sie es so aufrufen:
NSString *oneTwoThree = @" TestString ";
NSString *resultString;
resultString = [self removeEndSpaceFrom:oneTwoThree];
resultString
hat dann keine Leerzeichen am Ende.
g212gs
Punkte
852
NSString *trimmedString = [string stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
//for remove whitespace and new line character
NSString *trimmedString = [string stringByTrimmingCharactersInSet:
[NSCharacterSet punctuationCharacterSet]];
//for remove characters in punctuation category
Es gibt viele andere CharacterSets. Prüfen Sie es selbst, je nach Ihren Anforderungen.
lostAtSeaJoshua
Punkte
1675
- See previous answers
- Weitere Antworten anzeigen