Werner's answer answers the question as stated, and I'm not suggesting you unaccept it, but as clarified in comments the actual aim was to check that an input argument has more than (say) 3 characters. That is much simpler and doesn't involve counting anything.
To give an example, the following document shows a direct test that the fourth position is not empty followed by the test using xstring.
In both cases the tests show N for ab and Y for abcd but defining the test and executing the two tests one way takes 70 lines of log file, doing it the other way takes 2360 lines of log output. \tracingall output is usually a fair indication of actual TeX speed, and it's an interesting read anyway to see what TeX is doing behind the scenes.
\documentclass{article}
\tracingall
% check at least four characters
\makeatletter
\def\strcheck#1{\xstrcheck#1{}{}{}{}\xstrcheck}
\def\xstrcheck#1#2#3#4#5\xstrcheck{%
\ifx\valign#3\valign
\expandafter\@secondoftwo
\else
\expandafter\@firstoftwo
\fi}
\strcheck{ab}{\show Y}{\show N}
\strcheck{abcd}{\show Y}{\show N}
\makeatother
\usepackage{xstring,xifthen}
\def\strcheckb#1{%
\StrLen{#1}[\mystringlen]%
\ifthenelse{\mystringlen > 3}}
\strcheckb{ab}{\show Y}{\show N}
\strcheckb{abcd}{\show Y}{\show N}
\stop
\mythreshwould be a length like1cm) or do you mean number of characters (so\mythreshwould be a number like 3) In the latter case what is the length of\'{e}\textcolor{red}{f}z? Typeset length is the easiest to measure (or define) – David Carlisle Dec 19 '12 at 15:22\'{e}\textcolor{red}{f}z(There are several possible answers, some of which are easier to code than others) It can't happen, all input is ascii text with no markup would be one answer.... – David Carlisle Dec 19 '12 at 15:31\ifx\valign#1\valignwhich will test that#1is empty (as long as it isn't\valign) in a single expansion step. – David Carlisle Dec 19 '12 at 15:42\'{e}\textcolor{red}{f}z” It is difficult for me to see when would an answer other than3be useful. – morbusg Dec 20 '12 at 06:43