On May 17, 2006, at 3:45 AM, jbv wrote:

Is it possible to use regEx to remove spaces before and
after quotes, and, if yes, how ?

Example :
    my " beautiful " laundrette
becomes
    my "beautiful" laundrette

(?x)
(?<=")  \ +  (?= [^"]* "  (?>(?:[^"]*"){2})* [^"]* \z)
|
        \ +  (?= "        (?>(?:[^"]*"){2})* [^"]* \z)


on mouseUp
  put replaceText(field "In",field "regex","") into field "Out"
end mouseUp

This is slow for long strings. The regex experts might have some ideas on how to speed that up. For every match it has to check the rest of the string to make sure the quotes pair up. Ow.

This uses assertions to get around the whole-match nature of replaceText().

The \ + matches the spaces to be removed. The (?x) allows me to use whitespace in the regex.

In the lines of the regex the part before the space matching is the lookbehind assertion and the part after is the lookahead assertion.

To create the regex, I'd use format() which allows a special \" notation for literals in the first parameter, but the usual '& quote &' method will also work.

This pairs quotes from the right, so if the quotes are not paired, this will goof up at the start of the string.

Dar Scott

_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to