Package jason.stdlib

Class substring

All Implemented Interfaces:
InternalAction, Serializable

public class substring extends DefaultInternalAction

Internal action: .substring.

Description: checks if a string is sub-string of another string. The arguments can be other kinds of terms, in which case the toString() of the term is used. If "position" is a free variable, the internal action backtracks all possible values for the positions where the sub-string occurs in the string.

Parameters:

  • + substring (any term).
  • +/- string (any term).
  • +/- start position (optional -- integer): the initial position of the string where the sub-string occurs.
  • +/- end position (optional -- integer): the position in the string where the sub-string ends.

Examples:

  • .substring("b","aaa"): false.
  • .substring("b","aaa",X): false.
  • .substring("a","bbacc"): true.
  • .substring("a","abbacca",X): true and X unifies with 0, 3, and 6.
  • .substring("a","bbacc",0): false. When the third argument is 0, .substring works like a java startsWith method.
  • .substring(a(10),b(t1,a(10)),X): true and X unifies with 5.
  • .substring(a(10),b("t1,a(10),kk"),X): true and X unifies with 6.
  • .substring(R,a(10,20),5): true and R unifies with "20)".
  • .substring(R,a(10,20),5,7): true and R unifies with "20".
See Also: