Удалить пробел из строки в Objective-C
У меня есть пара строк. У некоторых есть пробел в начале, а некоторые нет. Я хочу проверить, начинается ли строка с пробела, и если это необходимо удалить.
- Является ли строка Java действительно неизменной?
- В чем преимущество непрерывности String?
- Формат метода (String, Object ) в типе String не применим для аргументов (...)
- Как избежать% в String.Format?
- Как превратить String в InputStreamReader в java?
- Получить n-й символ строки в языке программирования Swift
- Как разобрать строку с десятичной точкой в double?
- Размер файла формата как MB, GB и т. Д.
В classе NSString есть метод. Проверьте stringByTrimmingCharactersInSet:(NSCharacterSet *)set
. Вы должны использовать [NSCharacterSet whitespaceCharacterSet]
качестве параметра:
NSString *foo = @" untrimmed string "; NSString *trimmed = [foo stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
Вы можете использовать метод stringByTrimmingCharactersInSet NSString с помощью whitespaceAndNewlineCharacterSet NSCharacterSet как таковой:
NSString *testString = @" Eek! There are leading and trailing spaces "; NSString *trimmedString = [testString stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
Это приведет к удалению только ведущего пробела.
NSString *myString = @" 123 "; NSLog(@"mystring %@, length %d",myString, myString.length); NSRange range = [myString rangeOfString:@"^\\s*" options:NSRegularExpressionSearch]; myString = [myString stringByReplacingCharactersInRange:range withString:@""]; NSLog(@"mystring %@, length %d",myString, myString.length);
вывод
mystring 123 , length 9 mystring 123 , length 6
Я написал быстрый макрос, чтобы уменьшить количество кода, необходимого для написания.
Шаг 1: отредактируйте файл PCH вашего приложения, это должно быть имя Project-Name-Prefix.pch
#define TRIM(string) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
Шаг 2: Наслаждайтесь написанием меньше кода, если хотите обрезать строку
NSLog(@"Output: %@ %@", TRIM(@"Hello "), TRIM(@"World ")); Output: Hello World