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

Roger Eller roger.e.eller at sealedair.com
Wed May 25 07:00:51 EDT 2011


On Wed, May 25, 2011 at 6:11 AM, Keith Clarke wrote:
> Hi folks,
> A simple requirement but I'm struggling with getting the structure and syntax needed to replace only the first space character in each line of a variable with a tab.
>
> I have a field of label-value pairs - and some of the values contain spaces. This creates problems if I attempt a blanket approach of 'replace space in tVariable' with tab.
>
> So, I tried iterating through each tLine of tVariable but get a runtime error with 'replace space 1 in line tline with tab'. So, I'm guessing that 'space' can't be used to set chunk expression scope.
>
> So, within each line, I'm iterating at character-level, with 'repeat for each character tChar in the line, if tChar is space then...
>
> I've tried 'replace tChar with tab' and 'add tab after tChar' and then 'delete tChar' but I get errors - probably because I'm trying to delete the reference variable(?)
>
> I'm sure there is a nice efficient way to do this, so any advice on structure, syntax or command usage would be greatly appreciated.
> Best,
> Keith..
>

on replaceFirstSpace
   repeat with i = 1 to the number of lines of tMyVar
      put length(word 1 of line i of tMyVar)+1 into tCharLoc
      if char tCharLoc of line i of tMyVar = space then put TAB into
char tCharLoc of line i of tMyVar
   end repeat
end replaceFirstSpace

˜Roger




More information about the use-livecode mailing list