2017-07-15 13 views
-4

文字列が単なる単語であるかどうかを確認する方法はありますか?スウィフト文字列が1つの単語であることを確認してください

たとえば"Dog Dog"ではなく"Dog"です。

let string = "Dog" 

if string.components(separatedBy: " ").filter({ !$0.isEmpty}).count == 1 { 
    print("One word") 

} else { 
    print("Not one word") 

} 

はのは、例えば、「犬」にこれを適用してみましょう:

+0

Array.count == 0が意味をなさないかどうかを調べて、配列に変換しますか?それを行うより良い方法ですか? – Magnifique

答えて

2

空白文字セットを含む配列にトリミングして分割することができます。数を評価するだけではありません

let count = string.trimmingCharacters(in: .whitespaces).components(separatedBy: .whitespaces).filter {$0 != ""}.count 

switch count { 
case 0: 
    print("no word") 
case 1: 
    print("one word") 

default: 
    print("multiple words") 
} 
2

あなたはそれをこのように行うことができます

まず、あなたは、スペースで区切った文字列の要素を取得する必要があるので、あなた」取得北韓:

[ ""、 "犬"]

次に、あなたは、n配列をフィルタリングして空の文字列を除外するようにeedします。

その後、配列のサイズを調べる必要があります。配列のサイズが1ならば、単語は1つのみです。

+0

ケース「Dog」はどうですか? – Roy

+0

申し訳ありませんが、修正するためにコードを更新しました。 –

+0

私はコードをもう一度簡単に更新しました。 –

関連する問題