Tôi đang tìm cách xác định liệu giá trị chuỗi từ đầu vào của người dùng (UITextField) có phải là "trống" nếu không phải là không. Kiểm tra nếu [textField.text isEqualToString:""]
là không đủ bởi vì tôi muốn tránh bất kỳ đầu vào trống/khoảng trắng (như nói một vài ký tự khoảng trắng).Cách tốt nhất để cắt khoảng trắng từ một chuỗi trong Cocoa Touch là gì?
Dường như có dấu hiệu của giải pháp tốt cho vấn đề cụ thể của tôi in this StOv post.
Về cơ bản nó đi một cái gì đó như thế này, nhưng tôi nghi ngờ có phải (hoặc phải) là một cách tốt hơn:
NSString *strResult;
NSScanner* scanner = [NSScanner scannerWithString:textField.text];
BOOL hasValidChars = [scanner scanUpToCharactersFromSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]
intoString:&strResult];
// if hasValidChars == YES, we've got nonwhite space chars collected into strResult
Đây rõ ràng chỉ hoạt động cho hoàn cảnh cụ thể của tôi, và thậm chí sau đó nó sẽ thất bại nếu ký tự đầu tiên là không gian nhưng dữ liệu tôi muốn theo sau. Vì vậy, tôi nhận ra tôi đã được một chút hư hỏng của Ruby, nhưng phải có một thành ngữ đã cố gắng và thực sự để cắt tỉa chuỗi trong ca cao.
Aaaand câu trả lời là đã ra khỏi đó, lời xin lỗi của tôi:
NSString của -stringByTrimmingCharactersInSet:
sẽ làm điều đó:
Trả về một chuỗi mới làm bằng cách loại bỏ từ cả hai đầu của người nhận nhân vật chứa trong bộ ký tự đã cho.
Tôi vẫn tò mò muốn biết liệu có ai có cách nào khác/ưa thích làm điều này không.
String.Length> 0 – elliotrock