<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    I am trying to strip all leading and trailing whitespace from a
    string. I have tried two methods, neither of which is satisfactory.<br>
    <br>
    The first method uses \ignorespaces and \removeunwantedspaces. This
    fails to strip leading and trailing newlines.<br>
    <br>
    The second method uses the Lua string.strip function. The wiki
    description:<br>
    <blockquote>Yields string with leading and trailing whitespace
      (spaces, horizontal and vertical tabs, newlines) removed<br>
    </blockquote>
    suggests that this should do what I want, but I find that it removes
    internal whitespace as well as the leading and trailing whitespace.<br>
    <br>
    Can somebody suggest a better way of doing this?<br>
    <br>
    The following code demonstrates the problem:<br>
    <br>
    <blockquote><tt>% macros=mkvi</tt><tt><br>
      </tt><tt>\starttexdefinition StringStrip #STRING</tt><tt><br>
      </tt><tt>  \startluacode</tt><tt><br>
      </tt><tt>    context(string.strip([==[#STRING]==]))</tt><tt><br>
      </tt><tt>  \stopluacode</tt><tt><br>
      </tt><tt>\stoptexdefinition</tt><tt><br>
      </tt><tt>\long\def\test{</tt><tt><br>
      </tt><tt><br>
      </tt><tt>This is a test. \quad</tt><tt><br>
      </tt><tt><br>
      </tt><tt>And it has an unexpected result. </tt><tt><br>
      </tt><tt><br>
      </tt><tt>With \tex{ignorespaces} and \tex{removeunwantedspaces},
        the</tt><tt><br>
      </tt><tt>newlines remain.</tt><tt><br>
      </tt><tt><br>
      </tt><tt>With Lua {\tt string.strip}, the \tex{quad} at the end of
        a</tt><tt><br>
      </tt><tt>paragraph is preserved,    but the other internal
        whitespace</tt><tt><br>
      </tt><tt>(including newlines) is gone!</tt><tt><br>
      </tt><tt><br>
      </tt><tt>}</tt><tt><br>
      </tt><tt>\starttext</tt><tt><br>
      </tt><tt>\subject{ignorespaces and removeunwantedspaces}</tt><tt><br>
      </tt><tt>¦\ignorespaces\test\removeunwantedspaces¦</tt><tt><br>
      </tt><tt><br>
      </tt><tt>\subject{Lua string.strip}</tt><tt><br>
      </tt><tt>¦\StringStrip{\test}¦</tt><tt><br>
      </tt><tt>\stoptext</tt><tt><br>
      </tt></blockquote>
    -- <br>
    Rik<br>
  </body>
</html>