Class ReplaceFunction

  • All Implemented Interfaces:
    Function, Serializable

    public class ReplaceFunction
    extends FunctionBase
    implements Function
    From http://docs.jsonata.org/string-functions.html: $replace(str, pattern, replacement [, limit]) Finds occurrences of pattern within str and replaces them with replacement. If str is not specified, then the context value is used as the value of str. It is an error if str is not a string. The pattern parameter can either be a string or a regular expression (regex). If it is a string, it specifies the substring(s) within str which should be replaced. If it is a regex, its is used to find. The replacement parameter can either be a string or a function. If it is a string, it specifies the sequence of characters that replace the substring(s) that are matched by pattern. If pattern is a regex, then the replacement string can refer to the characters that were matched by the regex as well as any of the captured groups using a S followed by a number N: * If N = 0, then it is replaced by substring matched by the regex as a whole. * If N > 0, then it is replaced by the substring captured by the Nth parenthesised group in the regex. * If N is greater than the number of captured groups, then it is replaced by the empty string. * A literal $ character must be written as $$ in the replacement string If the replacement parameter is a function, then it is invoked for each match occurrence of the pattern regex. The replacement function must take a single parameter which will be the object structure of a regex match as described in the $match function; and must return a string. The optional limit parameter, is a number that specifies the maximum number of replacements to make before stopping. The remainder of the input beyond this limit will be copied to the output unchanged. Examples $replace("John Smith and John Jones", "John", "Mr")=="Mr Smith and Mr Jones" $replace("John Smith and John Jones", "John", "Mr", 1)=="Mr Smith and John Jones" $replace("abracadabra", "a.*?a", "*")=="*c*bra" $replace("John Smith", "(\w+)\s(\w+)", "$2, $1")=="Smith, John" $replace("265USD", "([0-9]+)USD", "$$$1")=="$265"
    See Also:
    Serialized Form
    • Field Detail

      • ERR_BAD_CONTEXT

        public static String ERR_BAD_CONTEXT
      • ERR_ARG1BADTYPE

        public static String ERR_ARG1BADTYPE
      • ERR_ARG2BADTYPE

        public static String ERR_ARG2BADTYPE
      • ERR_ARG3BADTYPE

        public static String ERR_ARG3BADTYPE
      • ERR_ARG4BADTYPE

        public static String ERR_ARG4BADTYPE
      • ERR_ARG5BADTYPE

        public static String ERR_ARG5BADTYPE
      • ERR_MSG_ARG2_EMPTY_STR

        public static final String ERR_MSG_ARG2_EMPTY_STR
    • Constructor Detail

      • ReplaceFunction

        public ReplaceFunction()