1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Swift】isUppercaseとisLowercaseで大文字小文字を調べる

Last updated at Posted at 2022-05-10

はじめに

Character型のプロパティとして定義されているisUppercaseisLowercaseを初めて使ったので備忘録として残します。

環境

  • Swift: version 5.6
  • Xcode: Version 13.3.1 (13E500a)
  • macOS: 12.3.1 (21E258)

使い方

例題

文字列中に大文字と小文字の両方が含まれるかどうかを調べたい。

色々とやり方はあると思いますが、今回は下記の手順で実装してみます。

  1. 文字列をfor-in文でCharacterとして取り出す。
  2. isUppercaseプロパティで大文字を含むかどうか判定。
  3. isLowercaseプロパティで小文字かどうかを判定。

実装

func containUppercaseAndLowercase(_ string: String) -> Bool {
    var result = (uppercase: false, lowercase: false)
    for character in string {
        if character.isUppercase == true {
            result.uppercase = true
            break
        }
    }
    for character in string {
        if character.isLowercase == true {
            result.lowercase = true
            break
        }
    }
    if result == (true, true) {
        return true
    } else {
        return false
    }
}

containUppercaseAndLowercase("AB") //false
containUppercaseAndLowercase("Ab") //true
containUppercaseAndLowercase("aB") //true
containUppercaseAndLowercase("ab") //false

2022/05/11追記

コメントでcontains(where:)を使ったやり方を教えていただいたので追記します。
コードがかなりスッキリします。

func containUppercaseAndLowercase(_ string: String) -> Bool {
    string.contains { $0.isUppercase } && string.contains { $0.isLowercase }
}

さいごに

isUppercaseisLowercaseの使い方として、
文字列中に大文字と小文字の両方が含まれるかどうかを判定する関数を実装してみました。
最後まで見ていただきありがとうございました。

参考記事

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?