목표 C에서 문자열을 확인하기 위해 다음을 수행 할 수 있습니다.
if ([myString isEqualToString:@""]) {
NSLog(@"myString IS empty!");
} else {
NSLog(@"myString IS NOT empty, it is: %@", myString);
}
Swift에서 빈 문자열을 어떻게 감지합니까?
답변
이제 빈 문자열을 감지하는 내장 기능이 있습니다 .isEmpty
.
if emptyString.isEmpty {
print("Nothing to see here")
}
Apple 시험판 문서 : “문자열 및 문자” .
답변
문자열이 nil인지 비어 있는지 확인하는 간결한 방법은 다음과 같습니다.
var myString: String? = nil
if (myString ?? "").isEmpty {
print("String is nil or empty")
}
답변
나는 내 답변을 완전히 다시 작성하고 있습니다 ( 다시 ). 이번에는 guard
성명서 의 팬이 되었고 일찍 돌아 왔기 때문 입니다. 훨씬 깨끗한 코드를 만듭니다.
비 선택적 문자열
길이가 0인지 확인하십시오.
let myString: String = ""
if myString.isEmpty {
print("String is empty.")
return // or break, continue, throw
}
// myString is not empty (if this point is reached)
print(myString)
만약 if
문을 통과, 당신은 안전하게이 비어 있지 않은 것을 알고 문자열을 사용할 수 있습니다. 비어 있으면 함수가 일찍 반환되고 중요한 후에 아무것도 반환되지 않습니다.
선택적 문자열
길이가 없거나 0인지 확인하십시오.
let myOptionalString: String? = nil
guard let myString = myOptionalString, !myString.isEmpty else {
print("String is nil or empty.")
return // or break, continue, throw
}
// myString is neither nil nor empty (if this point is reached)
print(myString)
이것은 선택 사항을 풀고 동시에 비어 있지 않은지 확인합니다. guard
명령문을 전달한 후 랩핑되지 않은 비어 있지 않은 문자열을 안전하게 사용할 수 있습니다.
답변
Xcode 11.3 swift 5.2 이상
사용하다
var isEmpty: Bool { get }
예
let lang = "Swift 5"
if lang.isEmpty {
print("Empty string")
}
공백 을 무시 하려면
if lang.trimmingCharacters(in: .whitespaces).isEmpty {
print("Empty string")
}
답변
문자열이 비어 있는지 확인하는 방법은 다음과 같습니다. ‘공백’은 비어 있거나 공백 / 줄 바꾸기 문자 만 포함하는 문자열을 의미합니다.
struct MyString {
static func blank(text: String) -> Bool {
let trimmed = text.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
return trimmed.isEmpty
}
}
사용하는 방법:
MyString.blank(" ") // true
답변
선택적 확장을 사용하여 언 래핑 또는 사용에 대해 걱정할 필요가 없습니다 == true
.
extension String {
var isBlank: Bool {
return self.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty
}
}
extension Optional where Wrapped == String {
var isBlank: Bool {
if let unwrapped = self {
return unwrapped.isBlank
} else {
return true
}
}
}
참고 : 옵션으로 이것을 호출 할 때 사용하지 마십시오. ?
그렇지 않으면 래핑 해제가 필요합니다.
답변
부정 검사 및 길이를 동시에 수행하려면 Swift 2.0 및 iOS 9부터 사용할 수 있습니다.
if(yourString?.characters.count > 0){}