| 
                     | 
                    
                        主题:  如何将字符串内容转化为属性列表?
                     | 
                
            
                        
                
                    
                          gwllb 
                        职务:普通成员 
                        等级:1 
                        金币:0.0 
                        发贴:91 
                        注册:2000/12/1 15:19:02 
                     | 
                    
                        
                            
                            #12004/1/13 9:09:52 
                            
                                比如,我有一个字符串,为 MyString="name="1.mp3" Mynum="1" MyText="text/1.txt"" 我需要自动将MyString中的内容转化为 [#name:"1.mp3",#Mynum:"1",#MyText:"text/1.txt"] 因为字符串MyString是变化的,所以不知道改怎么自动添加,或者说,是怎么去获取字符串中各个属性的值。
                                
                                
                                
                             
                            
                            
                         
                     | 
                
                        
                
                    
                          wanlang 
                        职务:普通成员 
                        等级:1 
                        金币:0.0 
                        发贴:39 
                        注册:2005/4/21 16:35:45 
                     | 
                    
                        
                            
                            #22004/1/13 23:59:59 
                            
                                转过来倒是不难,关键是看你作什么用? 如果是属性列表可以用addprop来添加,用getprop或getpropat来获取值 我看你的意思可能会要用属性列表和线性列表混合用 线性列表的话就用append、add、addat来添加 用getone、getpos来获取值!
                                
                                
                                
                             
                            
                            
                         
                     | 
                
                        
                
                    
                          gwllb 
                        职务:普通成员 
                        等级:1 
                        金币:0.0 
                        发贴:91 
                        注册:2000/12/1 15:19:02 
                     | 
                    
                        
                            
                            #32004/1/14 9:10:37 
                            
                                如何添加属性列表和线性列表就不用解说了。我所要知道的是怎么把"name="1.mp3" Mynum="1" MyText="text/1.txt"" 这一字符串中的三个属性的值取出来,因为这个字符串只是一个例子,我做的项目,此字符串中的属性的值是变化的 
                                
                                
                                
                             
                            
                            
                         
                     | 
                
                        
                
                    
                          wanlang 
                        职务:普通成员 
                        等级:1 
                        金币:0.0 
                        发贴:39 
                        注册:2005/4/21 16:35:45 
                     | 
                    
                        
                            
                            #42004/1/14 20:24:01 
                            
                                如果都那样格式的字符串的话, 你可以先取到“=”的位置 再根据“=”的位置不就可以获取到它的值了吗?
                                
                                
                                
                             
                            
                            
                         
                     | 
                
                        
                
                    
                          gwllb 
                        职务:普通成员 
                        等级:1 
                        金币:0.0 
                        发贴:91 
                        注册:2000/12/1 15:19:02 
                     | 
                    
                        
                            
                            #52004/1/15 10:02:10 
                            
                                想到过,但是字符串中有3个或更多的“=”,用offset怎么去判断你要检测第几个"="的位置呢?现在问题已经解决,没用字符串的方式,用了笨办法,将所有属性都生成一个文本,再根据行去读相应文本行的内容。
                                
                                
                                
                             
                            
                            
                         
                     | 
                
                        
                
                    
                          wanlang 
                        职务:普通成员 
                        等级:1 
                        金币:0.0 
                        发贴:39 
                        注册:2005/4/21 16:35:45 
                     | 
                    
                        
                            
                            #62004/1/16 22:40:17 
                            
                                用offset是只会获得在指定字符串的第一次出现的位置,所以是行不通的! 用下面这个函数可以获得字符串中所有的"=",这个函数只能相对于一个字符哦,它会返回一个位置列表
  on startMovie me   stringx="name=1.mp3 Mynum=1 MyText=text/1.txt"   put Mulioffset("=",stringx) end
  on Mulioffset str1,str2     strlist=[]   repeat with i=1 to str2.length     m=str2.char[i]     if m=str1 then       strlist.append(i)     end if   end repeat   return strlist end
                                
                                
                                
                             
                            
                            
                         
                     | 
                
                        
                
                    
                          wanlang 
                        职务:普通成员 
                        等级:1 
                        金币:0.0 
                        发贴:39 
                        注册:2005/4/21 16:35:45 
                     | 
                    
                        
                            
                            #72004/1/17 3:04:44 
                            
                                下面有个函数,方法比较笨:),而且你的格式不能错误,不能同时有两个空格存在,等号前后也不能有空格 on startMovie me   stringx="name=1.mp3 Mynum=1 MyText=text/1.txt"   put Mulioffset(stringx) end
  on getstring str1    strlist1=[]   strlist2=[]   l=" "    repeat with i=1 to str1.length         m=str1.char[i]     if m="=" and  l<>m then       strlist1.append(i)     end if     if m=" " and l<>m then       strlist2.append(i)     end if     l=m   end repeat   if strlist2>=strlist1 then exit   ch1_1=str1.char[strlist1[1]+1..strlist2[1]-1]   ch2_1=str1.char[strlist1[2]+1..strlist2[2]-1]   ch3_1=str1.char[strlist1[3]+1..str1.length]   str=[#name:ch1_1,#myNum:ch2_1,#myText:ch3_1]   return str end --[#name: "1.mp3", #mynum: "1", #mytext: "text/1.txt"]
                                
                                
                                
                             
                            
                            
                         
                     |