How embarrassing !!
I tested this in my message box, and had a typo (almost invisible space) in the input data.

Sorry Jim (and Keith).
-- Alex.

On 26/05/2011 04:39, Jim Ault wrote:
On May 25, 2011, at 8:41 AM, Alex Tweedly wrote:

Beware this will get the (possibly) wrong result for some data. For instance, a comma will terminate a word, so

a,b def

will give you a key of "aTABb def"

rather than a key of "a,TABdef"



Punctuation is not considered a word delimiter, so the comma will remain attached to the string.

put word 1 of "a,b def" into msg
-- I get "a,b" using Rev 3.5

In fact, if the words have trailing commas, the punctuation is considered part of the word

put word 2 of "He spoke, therefore he was heard"
=>  the 6 chars     'spoke,'

put word 2 of "nice ,,and,,,,,,,,,, warm"
=>   ,,and,,,,,,,,,,

put word 2 of "really ...-and_,;]/><? truly"
=>  ...-and_,;]/><?

Hope this helps


Jim Ault
Las Vegas

On May 25, 2011, at 8:41 AM, Alex Tweedly wrote:

Beware this will get the (possibly) wrong result for some data. For instance, a comma will terminate a word, so

a,b def

will give you a key of "aTABb def"

rather than a key of "a,TABdef"

I'd stick to the safer

set the itemDel to space
repeat for each line L in tData
  put item 1 of L & TAB & item 2 to -1 of L & CR after tOutput
end repeat


or ... since they are key/value pairs, if (AND ONLY IF) you happen to know that the keys are unique

split tData by CR and space
combine tData by CR and TAB

-- Alex.

On 25/05/2011 16:14, Keith Clarke wrote:
Thanks to Roger, Ken and Chris for playing - but Jim gets the prize for the simplicity brought through passing data out to a second variable, line by line, rather than trying to fix the data in place (which is an interesting mental challenge but quite convoluted).

So, I settled on this four line fix variant on Jim's first solution (I found that had to declare the line explicitly for each word chunk)

   repeat for each line tLine in tSourceList
put word 1 of tLine& tab& word 2 to -1 of tLine& return after tResultTable
   end repeat
   filter tResultTable without empty

So, I now have a nice, clean label-value table field.

Nice that variables are 10 a penny in LiveCode! :-)
Best,
Keith..


Jim Ault
Las Vegas



_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to