Symbolic substitution (SS) for digital optical computing initially used intensity coding with one pixel representing one bit. This required recognition of both the dark and the bright pixels in a pattern for complete recognition. To avoid this double recognition, dual-rail coding was introduced, where it is sufficient to recognize either the dark or the bright pixels alone for complete recognition. Subsequently, the modified signed-digit number system was proposed to fully exploit the parallelism of SS for arithmetic operations. This introduces a third symbol -1, and with dual-rail coding, this again necessitates recognition of both dark and bright pixels. We argue the usefulness of triple-rail coding to avoid this double recognition. We show that the nature of this one-of-three coding enables simplified recognition of a set of patterns. We present a new implementation of SS based on this coding. We also show that this one-of-many coding can be extended to high-radix arithmetic with equal efficiency. We present an evaluation scheme based on the number of optical hardware elements required by each implementation and use it to compare the different implementations of SS.