Read a text file

Thomas Gutzmann thomas.gutzmann at gutzmann.com
Mon Jan 17 18:12:57 EST 2005


I haven't tested the regular expressions in Rev, but in Perl, it would  
take some scratching of the head only to cope with commas embedded in  
quotes. Or some browsing in the Internet. But it depends on the quality  
of the RE parser.

Thomas

Am 18.01.2005 um 00:00 schrieb Alex Tweedly:

> Frank D. Engel, Jr. wrote:
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> hmm, minor improvements (and to kill off the quotes):
>>
>> put URL "file:Stories/Westwind" into vArr
>> repeat for each line x in vArr   -- faster than with i= notation
>>   -- separate fields
>>   put item 1 of x into vName
>>   put item 2 of x into vID
>>   put item 3 of x into vMail
>>
>>   -- delete quotes
>>   delete char 1 of vName
>>   delete char 1 of vID
>>   delete char 1 of vMail
>>   delete the last char of vName
>>   delete the last char of vID
>>   delete the last char of vMail
>>
>>   -- place into fields: note this will only result in the last line  
>> of the file being in the fields, since
>>   -- it replaces the former contents each time.  modify as needed to  
>> fix this
>>
>>   put vName into field "Name"
>>   put vID into field "ID"
>>   put vMail into field "Email address"
>> end repeat
>
>
> Well, sigh .....  This brings us back to the "fun" of parsing CSV  
> files.  See some long thread(s) from a few months ago.
>
> Given an input line like
> "Tweedly, Alex", "id1","alex at tweedly.net"
> this script, like the other ones given in this thread, will give a  
> result that might be a surprise.
>
> The "obviously correct" answer that many would expect is
>
>> name = Tweedly, Alex
>> id = id1
>> email = alex at tweedly.net
>
> but this scripts would get
>
>> name = Tweedl
>> id = lex
>> email = id1
>
>
> The quotes in the input file do NOT hide the commas, and so every  
> comma would be an item delimiter.
>
> This may not be an issue in this particular case, depending on what  
> constraints Paul knows of in the input data. If that possibility needs  
> to be accounted for, you need to either parse char by char, or use the  
> fast but rather opaque "split and alternate" method from one of the  
> earlier threads, at
>   
> http://lists.runrev.com/pipermail/use-revolution/2004-October/ 
> 045450.html
>
> Also, there are some email addresses that can ONLY be properly  
> represented by including quotes because they contain commas. For  
> instance
>   "any name you might, perhaps, like" <alex at tweedly.net>
> is a valid email address.
> This form of valid email address might suffer from trying to store in  
> this format, or at least might need to choose one or other of the  
> various ways CSV files handle included quotes (either doubling them  
> within the field, or escaping them with something like '\').
>
> -- Alex.
>
>
>
>
> -- 
> No virus found in this outgoing message.
> Checked by AVG Anti-Virus.
> Version: 7.0.300 / Virus Database: 265.6.11 - Release Date: 12/01/2005
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution



More information about the Use-livecode mailing list