Fandom

Second Life in Japan

スクリプターズカフェ/ログ/文字列をカンマで分割する時に使う関数

483このwikiの
ページ数
新しいページをつくる
トーク0 シェアする

Scripters_cafeログ


09/01/10 編集

スクリプトでノートカードから設定を読み込むときなどに使用する、カンマなどの特定の文字によってデータを分割する場合の処理についてです。

カンマで文字列を分割する場合、LSLの次のような関数が使用できます。

これらの関数の特徴と注意点についてです。


llParseString2List:区切り文字が連続する場合の扱いに注意編集

関数の名前から、文字列をリストに分割する場合に使用する汎用的な目的の関数と思われがちですが、一般的に考える「文字列→リスト」の分割処理とは異なっている点に注意が必要です。

  • 文字列:「あ,い,,う,,え」 を変換すると

という要素数4のリスト変数になります。

次に説明するllParseStringKeepNullsと比較してください。


llParseStringKeepNulls:文字列をリストに分割する場合の汎用関数編集

llParseString2Listとほぼ同じですが、区切り文字が連続する場合の挙動が異なります。

  • 文字列:「あ,い,,う,,え」 を変換すると

という要素数6のリスト変数になります。(空文字列の要素が入ります)

設定の記述などの読み込みに使用する場合は、値が空で区切り文字が連続していても、そこを空文字列として扱うことが普通なので、こちらの関数を使用します。


llCSV2List:vectorやrotationの値を上手く処理編集

この関数は区切り文字がカンマの場合にだけ使用できます。また、llParseStringKeepNullsなどとは違い、vector値やrotation値を上手く処理してくれます。

  • 文字列:「あ,<1,2,3>,い」を変換すると
  • llParseStringKeepNulls
  1. <1
  2. 2
  3. 3>
  • llCSV2List
  1. <1,2,3>

このように、vectorやrotationと認識できる部分は1要素として分割されます。

ただし、このように分割されたとしても、結果のlist変数内にはあくまで文字列として保存されていることに注意が必要です。



このページのTinyURL:http://tinyurl.com/SC-split-string

広告ブロッカーが検出されました。


広告収入で運営されている無料サイトWikiaでは、このたび広告ブロッカーをご利用の方向けの変更が加わりました。

広告ブロッカーが改変されている場合、Wikiaにアクセスしていただくことができなくなっています。カスタム広告ブロッカーを解除してご利用ください。

Fandomでも見てみる

おまかせWiki