查看“LlParseString2List”的源代码
←
LlParseString2List
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: list llParseString2List( string src, list separators, list spacers ); |参数= 参数: • string src – source string • list separators – separators to be discarded • list spacers – spacers to be kept |返回值= 返回值: 返回一个被 src 分解成字符串列表的列表,丢弃分隔符,保留间隔符,丢弃生成的任何 null (空字符串)值。 |注意事项= 注意事项 *删除所有空字符串(由于间隔器或分隔器彼此相邻或两端相邻而产生) ; 如果您想要它们(例如,为了保持列表的顺序) ,可以使用 llparse/stringkeepnulls; *只使用前8个分离器和前8个间隔器。除此之外的一切都会被忽略。可以参考下面的 # useful snippets section。输出中项数的唯一限制是可用脚本内存。 *所有分隔符和间隔符都必须是字符串。所有其他类型都将被忽略; *分离器比间隔器更有先例。字符串从头到尾被解析。在移动到下一个位置之前,将每个位置与分离器、垫片进行比较; *重复的分离器和间隔器没有不良影响; *Llparsestring2list 返回的列表中的所有元素都是字符串,如果要将它们用作其他类型,则必须显式地进行类型转换。不要依赖于其他 lllist2 *函数的隐式类型映射(因为它们通常返回一个默认值) ; *记住使用变量捕获操作的结果,除非您计划直接对结果采取行动。 |示例= 示例一 <pre> default { state_entry() { // This will say: // <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,"><") + ">"); // This will say: // <A><crazy><fox><.><><><Saw><the><moon><.><><.><> my_list = llParseStringKeepNulls(my_string,[" "],["."]); llOwnerSay("<" + llDumpList2String(my_list,"><") + ">"); } } </pre> 虽然 lsl 不支持 list-in-lists,但是您可以通过连续调用来模拟 list-in-lists,或者您可以使用 json.this 示例中有些项目提供了额外的信息。 <pre> string shoppinglist = "macaroni::pepperoni::bread#wheat::sausage#italian::coffee::syrup::apple::ice cream#strawberry#chocolate#vanilla"; default { state_entry() { list items = llParseString2List(shoppinglist, ["::"], []); integer i = 0; integer j = llGetListLength(items); for(;i < j; ++i) { list desc = llParseString2List(llList2String(items, i), ["#"], []); if(llGetListLength(desc) > 1) { list types = llDeleteSubList(desc,0,0); llOwnerSay("Item: "+ llList2String(desc, 0) + " Type: " + llList2CSV(llDeleteSubList(types,-2,-1) + llDumpList2String(llList2List(types,-2,-1), " & "))); } else { llOwnerSay("Item: "+ (string)desc); } } } } </pre> |相关函数= [[llParseStringKeepNulls]] [[llDumpList2String]] [[llCSV2List]] [[llList2CSV]] |相关事件= }}
该页面使用的模板:
模板:LSL Header
(
查看源代码
)
模板:LSLC
(
查看源代码
)
模板:LSLGC
(
查看源代码
)
模板:Multi-lang
(
查看源代码
)
模板:函数详情
(
查看源代码
)
返回至
LlParseString2List
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
网站首页
知识百科
编辑帮助
最近更改
工具
链入页面
相关更改
特殊页面
页面信息