LlParseString2List/ja
		
		
		
		
		
		Jump to navigation
		Jump to search
		
  
    
		
	
| LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル | 
警告
- 空の文字列は (separators や spacers が隣接したり、末尾にあったりした場合に作られる) は全て削除されます。
- (例えばリストの並びを保持したい等) 空文字列の要素を保持したい場合は、代わりに llParseStringKeepNulls を使ってください。
 
- 引数の separators と spacers はそれぞれ先頭 8 要素だけが有効です。それを超えた分は無視されます。(これが問題になる場合は、以下の 便利なスニペット の項を参照してください。)
- separators と spacers の要素は全て string 型でなければいけません。それ以外のデータ型は無視されます。
- separators は spacers よりも優先的に扱われます。マッチングは src の先頭から開始されます。src のマッチング位置において、separators の各要素、次いで spacers の各要素とマッチングが行なわれ、それから次のマッチング位置へ移動します。
- separators と spacers で要素の重複があっても、動作に支障はありません。
- 戻り値の要素は全て string 型です。他のデータ型として扱うならば llList2String で明示的に型キャストしてください。llList2* 関数による暗黙の型キャストをあてにしないでください。 (これは通常デフォルト値を返却するため)
- 戻り値を直接処理するのでないならば、戻り値を必ず変数へ格納してください。
サンプル
default
{
    state_entry()
    {
        // 以下のように出力されます:
        // <A><crazy><fox><.><Saw><the><moon><.><.>
        string my_string = "A crazy fox.  Saw the moon..";
        list my_list = llParseString2List(my_string,[" "],["."]);
        llOwnerSay("<" + llDumpList2String(my_list,"><") + ">");
        
        // 以下のように出力されます:
        //  <A><crazy><fox><.><><><Saw><the><moon><.><><.><>
        my_list = llParseStringKeepNulls(my_string,[" "],["."]);
        llOwnerSay("<" + llDumpList2String(my_list,"><") + ">");
    }
}
便利なスニペット
8 個以上のspacers や separators を扱う例:
| • | ParseString2List | – | llParseString2List および llParseStringKeepNulls と全く同じ処理を行う関数 | |
| • | separateWords | – | 追加の前提条件を守れば、 llParseString2List と全く同じ処理を行う関数。一見正しいように見えます。 | 
注意点
何かを separator として指定すると、指定された separator が見つかった位置で文字列を区切り、separator を削除することになります。
一方、何かを spacer として指定すると、spacer が見つかった位置で文字列を区切りますが、spacer はそこに置き去りにされ、結果に含まれることになります。
string myString = "What Are You Looking At?";
llSay(0, (string)llParseString2List(myString, ["W", "A", "Y", "L", "A"], [] ));
//出力: hat re ou ooking t?
    
llSay(0, (string)llParseString2List(myString, [], ["W", "A", "Y", "L", "A"] ) );
//出力: What Are You Looking At?
separators の要素に " " を使うと、英文は単語に切り分けられます。
spacers に何も指定したくない場合は [] としてください。
空の文字列を separator または spacer として指定すると、何も起こりません。
関連項目
関数
| • | llParseStringKeepNulls | |||
| • | llDumpList2String | |||
| • | llCSV2List | |||
| • | llList2CSV | 
記事
| • | Separate Words | |||
| • | LSL-Editor/Bugs | 
特記事項
Search JIRA for related Issues
| Signature | 
|---|
| function list llParseString2List( string src, list separators, list spacers ); | 
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。