Class StringReplace

  • All Implemented Interfaces:
    java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

    public class StringReplace
    extends TypedAtomicActor
    On each firing, look for instances of the pattern specified by pattern in stringToEdit and replace them with the string given by replacement. If replaceAll is true, then replace all instances that match pattern. Otherwise, replace only the first instance that matches. If there is no match, then the output is the string provided by stringToEdit, unchanged. The pattern is given by a regular expression. For a reference on regular expression syntax see: http://download.oracle.com/javase/tutorial/essential/regex/.

    The replacement string, as usual with string-valued parameters in Ptolemy II, can include references to parameter values in scope. E.g., if the enclosing composite actor has a parameter named "x" with value 1, say, then the replacement string a${x}b will become "a1b".

    In addition, the replacement string can reference the pattern that is matched using the syntax "$$0". For example, the regular expression "t[a-z]+" in pattern will match the character t followed by a sequence of one or more lower-case letters. If replacement is "p$$0" then "this is a test" becomes "pthis is a ptest".

    If the pattern contains parenthesized subpatterns, such as "(t[a-z]+)|(T([a-z]+))", then the value of replacement can reference the match of each parenthesized subpattern with the syntax "$$n", where "n" is an integer between 1 and 9. For example, if pattern="(t[a-z]+)|(T([a-z]+))" and replacement="p$$1$$3", then "this is a Test" becomes "pthis is a pest". The index "n" corresponds to the order of opening parentheses in the pattern.

    To get a "$" into the replacement string, use "\$$". To get a "\" into the replacement string, use "\\".

    Since:
    Ptolemy II 4.0
    Version:
    $Id$
    Author:
    Antonio Yordan-Nones, Neil E. Turner, Edward A. Lee
    Pt.AcceptedRating:
    Green (net)
    Pt.ProposedRating:
    Green (djstone)
    • Field Detail

      • stringToEdit

        public PortParameter stringToEdit
        The string to edit by replacing substrings that match the specified pattern with the specified replacement. This is a string that defaults to the empty string.
      • output

        public TypedIOPort output
        The output port on which the edited string is produced. This has type string.
      • pattern

        public PortParameter pattern
        The pattern used to pattern match and replace the stringToEdit string. It is an empty string by default.
      • replacement

        public PortParameter replacement
        The replacement string that replaces any matched instance of the pattern. It is an empty string by default.
      • replaceAll

        public Parameter replaceAll
        When the boolean value is true, replace all instances that match the pattern, and when false, replace the first instance.
      • regularExpression

        public Parameter regularExpression
        If true, interpret the pattern as a regular expression. Otherwise, interpret it as the literal string to replace. This is a boolean that defaults to true.