How to replace just the first found space with tab for all lines in a variable?

Alex Tweedly alex at tweedly.net
Thu May 26 06:11:50 EDT 2011


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 at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your 
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>





More information about the use-livecode mailing list