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