(只是想为多媒体的发展尽一份力。以下是翻译director online 上的一篇关于解析文本和列表的文章,觉得简单有用,所以给大家共享。动机单纯。——-alalala) [\”MezzMM_375 RG\”, \”MezzMM\”, \”Cottonwood\”, \”Lithos Regular\”, \”Minion_ (这是简化了的。原件有一百多名字) 我需要将其转换为按字母顺序排列的有序列表(不是程序列表),看上去应该是这样: Arial 这样看来,我需要删除引号,逗号和括弧,将逗号替换为换行。 第二点,你的问题指出一个事实,好的开发者用lingo来帮助自己编辑。我们将要做的其实是一个编辑工具——-也许永远不会在程序运行中使用。这种类型的编辑器能节省你大量的时间。更重要的是它可以帮助你避免手动的输入数据题条目。 现在,我们来解释一下。我们需要做两件事。按字母顺序排列列表和处理不想要的字符。让我们从区别lingo 列表和字符串开始。在lingo中,字符串是包括在引号任何顺序的字节。同样的字符串能够出现在域中,然而域只能保留字符串,所以你并不需要用引号把字符串引起来。 你应该习惯看到扩在括弧里的列表。就象这样: 在这个列表里,我列出了三个symbol格式的条目(用#开头)。现在,我将把这个列表导入到一个域中(假定我有一个名为“animals”的域) put mylist into field “animals” 现在,这个名为“animals”的域看上去会象这样 [#cat,#dog,#bird] 但是这会出现一个麻烦的情况:如果我试图把这域“animals”中的文字返回到头一个列表中。 有什么不同?注意这次显示的结果是字符串—–看见引号了吗?这意味着我们不能再将它视作列表了。我不再能对它进行任何常规列表的操作。然而,我们可以很容易的将它从字符串再转换回列表来。既然”animals”中的字符还是正确的列表语法规则(有括号和逗号),我这样做: voila!(瞧!—-作者使用了法语)通过使用value语句,我们把字符串转为了列表。 我花了这么大的精力来解释这两者的不同是因为我们要将数据同时作为字符串和列表处理。为什么呢?我们需要将它作为字符串以便进行字节的搜索,替换,删除等操作。另一方面我们需要它作为列表以便作sort()的操作。 我们开始编码,将输入域中的文字置入到变量“thesring”中。接下来,我们将字符串转换为叫“thelist”的列表。现在,它是列表了,我们可以用”sort thelsit”来排序了。现在列表顺序排好了,我们需要将它导回字符串,通过使用sring()的命令。 Set thestring=the text of field whichfield Repeat with I=howmany down to 1 put thestring into field whichfield 剩下的只是一个简单的从最后一个字符到第一个字符的处理。试一下是否括弧,空格,引号或是逗号都被转换了。注意我是运用了lingo语句return,quote,和space 当我们处理完整个子串,我们将它置回域中。 总是将文本置入变量,在变量中处理字符,再把变量置回域中。我不知为什么,但它引人注目的快。
问题:
我有一个名为“fonts”的域和如下的文本。
Condensed\”, \”Minion Ornaments\”, \”Poetica ChanceryI\”, \”Utopia\”, \”Viva_
BoldExtraExtended\”, \”Viva Regular\”, …\”SurethingSymbols\”, \”Zephyr\”]
ArialBlack
ArialNarrow
BookAntiqua
BookmanOldStyle
BookshelfSymbol1
…
Wingdings
Woodcut
Xcast
ZapfElliptBT
Zephyr
回答:
我之所以选择你的问题主要有两个原因。第一,再没有比理解如何处理文本这个概念更为有用的了。我几乎记不记来有多少次我使用这种技巧来处理类似这样的处理外部文本文件,核实用户输入等。
set mylist=[#cat,#dog,#bird]
put mylist
——-[#cat,#dog,#bird]
Set mylist=the text of field “animals”
Put mylist
—-“[#cat,#dog,#bird]”
set mytext=the text of field “animals”
set mylist=value(mytext)
put mylist
—-[#cat,#dog,#bird]
On parsefield whichfield
Set thelist=value(thestring)
Sort thelist
Set thestring=string(thelist)
Set howmany=the number of chars in thestring
Case char I of thestring of
“,”: put return into char I of thestring
return,quote,space,”[“,”]”: delete char I of thestring
end case
end repeat
end
【director教程】解析文本和列表_director教程
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 【director教程】解析文本和列表_director教程
相关推荐
-      windows xp操作系统中隐藏的20个秘密_windows xp
-      photoshop定义粗大虚线笔刷绘制幽默自画像_photoshop教程
-      photoshop为七夕情人节打造亲密爱人相框_photoshop教程
-      photoshop通道互换法调整照片色调_photoshop教程
-      director生成文件减肥技巧_director教程
-      用director控制动画gif_director教程
-      director怎样制作自定义光标_director教程
-      利用director.ini调试应用程序_director教程