Grasshopper :: 数字か文字か判別する

 

今回は、Textが数字か文字か判別する方法についてです。ここでは、Grasshopperのコンポーネントを組み合わせる方法と、Pythonを使った場合を紹介します。

 

レシピ

 

はじめに、コンポーネントを組み合わせた場合です。

まず、[Text]コンポーネントにTextを格納し、[Number]コンポーネントに接続します。

すると、数字以外のTextは全て“<null>”が返されます。

これを[Null Item]コンポーネントに繋ぐと、出力側の[Null Flags]から真偽が返され、”<null>”のアイテムは”真”となります。

最後に、前回紹介した[Dispatch]コンポーネントに、[List]には元のTextを、[Dispatch Pattern]には真偽を繋ぐと、数字と文字でリストが分かれて完了です。

 

Pythonの場合

コードは以下の通りです。

方法は色々あるかと思いますが、今回は、try exceptを使ってみました。

tryでTextをint型にした際、数字ならば”num”に追加され、数字以外ならばエラーとなりexceptで処理され、”text”に追加されます。

また別の機会に他の分け方もしてみたいと思います。

 

使用した主なコンポーネント
  • [Dispatch] (Sets > List > Dispatch)
  • [Null Item] (Sets > List > Null Item)
  • [Number] (Params > Primitive > Number)
  • [Text] (Params > Primitive > Text)

コメントを残す