RPM String Translate Transform

What it does

The String Translate transform allows you substitute text in your print job, or eliminate text.


  • Search: this is the string to search for. It can contain a regular expression, or it can be binary characters or plain text -- or any combination.
  • Replace: this is the string you substitute each time RPM finds the search string.


  1. Input trays in a PCL job; or the output bin. Our technical staff frequently assists customers with this task.
  2. Any number of other common PCL parameters such as font ID, left margin, etc.
  3. Correcting the spelling of a customer name in a report, business name, street address.

Regular expressions

Regular expressions allow more complex search and replace functions by identifying repetition or patterns of characters. RPM allows regular expressions in the string translation transform in both the search and replace fields.

  • \ Indicates the next character has a special meaning. "n" on it’s own matches the character "n". "\n" matches a linefeed or newline character. See examples below (\d, \f, \n etc).
  • ^ Matches/anchors the beginning of line.
  • $ Matches/anchors the end of line.
  • * Matches the preceding character zero or more times.
  • + Matches the preceding character one or more times. Does not match repeated newlines.
  • . Matches any single character except a newline character. Does not match repeated newlines.
  • (expression) Brackets or tags an expression to use in the replace field. A regular expression may have up to 9 tagged expressions, numbered according to their order in the regular expression. The corresponding replacement expression is \x, for x in the range 1-9. Example: If (h.*o) (f.*s) matches "hello folks", \2 \1 would replace it with "folks hello".
  • [xyz] A character set. Matches any characters between brackets.
  • [^xyz] A negative character set. Matches any characters NOT between brackets.
  • \d Matches a digit character. Equivalent to [0-9].
  • \D Matches a nondigit character. Equivalent to [^0-9].
  • \f Matches a form-feed character.
  • \n Matches a linefeed character.
  • \r Matches a carriage return character.
  • \s Matches any white space including space, tab, form-feed, etc but not newline.
  • \S Matches any nonwhite space character but not newline.
  • \t Matches a tab character.
  • \v Matches a vertical tab character.
  • \w Matches any word character including underscore.
  • \W Matches any non word character.    


p.t matches "pat", "pot", and "put" but not "part".

Pa+st matches "past", "paast", "paaaast" etc. BUT NOT "pst".

Pa*st matches "past", "paast", "paaaast" etc. AND "pst".

[aeiou] matches lowercase vowels

[,.?] matches a comma (,), period (.), or question mark (?).

[0-9a-z] matches any digit or lowercase letter

[^0-9] matches any character except a digit (^ means NOT the following)

You may search for an expression A or B as follows. This will search for an occurrence of Chase or Justin or John. There should be nothing between the expressions.


You may combine A or B and C or D in the same search as follows, which will search for Chase or Justin or John followed by Jones or Smith.

"(Chase|Justin|John) (Jones|Smith)"