[texhax] Last char of a string
Paul Isambert
zappathustra at free.fr
Thu Jul 7 17:07:44 CEST 2011
Le 07/07/2011 15:05, Michael Barr a écrit :
> Is there any easy way to find the last character of a string?
>
> Why? Well the online journal I do the tex editing for uses runin
> subsection titles. They have to end with a period or other
> punctuation. So I want to look at the last character of the title and
> add a period unless it already is a period (or question mark or even
> an exclamation point).
You're probably using pdfTeX, even if you don't know it. So there is
\pdfmatch{<pattern>}{<expression>}
%%%
\def\first#1#2{#1} \def\second#1#2{#2}
\def\ifendwith#1#2{%
\ifnum\pdfmatch{[#1]$}{#2} = 1
\expandafter\first
\else
\expandafter\second
\fi
}
\ifendwith{?}{abc?}{true}{false}
%%%
(I put the character to test between brackets so it isn't considered as
a metacharacter, e.g. with "?" or ".".)
Best,
Paul
More information about the texhax
mailing list