Replace command
Jim Ault
jimaultwins at yahoo.com
Sat Apr 10 17:38:34 EDT 2010
My point was to be careful of using (wordOffset + replace) because
put wordOffset("happy", textBlockOfLines) into wordPosition
replace word wordPosition of textBlockOfLines with "sad"
can give undesired results such as-----
feel happy and safe
feel sad and safe -- OK
It is good to feel happy, yet afraid
It is good to feel sad yet afraid -- no comma
Feel happy. Be careful.
Feel sad Be careful. -- no period
Punctuation is one of the unintended casualties of wordOffset.
Jim Ault
Las Vegas
On Apr 10, 2010, at 1:34 PM, Peter Brigham MD wrote:
> Right, "replace" is the thing to use for a global replace task, but
> if you are doing a more sophisticated search/replace -- checking
> context of various matches and narrowing the search further -- the
> multiple offsets function is quite useful. Also, I need on occasion
> to find the *last* occurrence of a string in a container, and "item
> -1 of offsets(tString,tContainer)" is great for this.
>
> -- Peter
>
> Peter M. Brigham
> On Apr 10, 2010, at 2:51 PM, Mark Schonewille wrote:
>
>> Peter,
>>
>> As David pointed out, you can do that easily with the replace
>> command. I thought I'll mention this to avoid confusion.
>>
>> --
>> Best regards,
>>
>> Mark Schonewille
>>
>> Economy-x-Talk Consulting and Software Engineering
>> Homepage: http://economy-x-talk.com
>> Twitter: http://twitter.com/xtalkprogrammer
>>
>> Share the clipboard of your computer with other computers on a
>> local network with Clipboard Link
>> http://clipbaordlink.economy-x-talk.com
>>
>> Op 10 apr 2010, om 20:28 heeft Peter Brigham MD het volgende
>> geschreven:
>>>
>>> The code above will find and replace the first occurrence of the
>>> string. For access to all the occurrences, use this handler:
>>>
>>> function offsets str,cntr
>>> -- returns a comma-delimited list
>>> -- of all the offsets of str in cntr
>>> if str is not in cntr then return 0
>>> put "" into offsetList
>>> put 0 into startPoint
>>> repeat
>>> put offset(str,cntr,startPoint) into thisOffset
>>> if thisOffset = 0 then exit repeat
>>> add thisOffset to startPoint
>>> put startPoint & comma after offsetList
>>> end repeat
>>> delete last char of offsetList
>>> return offsetList
>>> end offsets
>>>
>>> -- Peter
More information about the use-livecode
mailing list