どうも、ちょげ(@chogetarou)です。
文字列が数値を含むかどうかを判定する方法を紹介します。
方法

文字列が数値を含むかどうかを判定するには、rangeOfCharacterメソッドを使います。
まず、文字列からrangeOfCharacterメソッドを呼び出します。
rangeOfCharacterメソッドの引数「from」には、「.decimalDigits」を指定します。
そして、rangeOfCharacterメソッドの結果がnilかどうかをチェックします。
//rangeOfCharacterの結果がnilかチェックする
str.rangeOfCharacter(from: .decimalDigits) == nil
上記のrangeOfCharacterメソッドの結果がnilならば、文字列は数値を含みません。
対して、上記のrangeOfCharacterメソッドの結果がnilでなければ、文字列は数値を含みます。
使用例
var numStr1 = "adjj133ks"
var numStr2 = "abcdefg"
print(numStr1.rangeOfCharacter(from: .decimalDigits) != nil ? "数値を含んでいます" : "文字のみです")
//数値を含んでいます
print(numStr2.rangeOfCharacter(from: .decimalDigits) != nil ? "数値を含んでいます" : "文字のみです")
//文字のみです
オススメの記事
コメント