com.singularsys.jep.functions.strings

## Class Mid

- java.lang.Object
- - com.singularsys.jep.functions.PostfixMathCommand
  - - com.singularsys.jep.functions.NaryFunction
    - - com.singularsys.jep.functions.strings.Mid

- All Implemented Interfaces:
    PostfixMathCommandI, java.io.Serializable

      public class Mid
      extends NaryFunction

  Extract substring of first argument: `mid("abcdefg",2,3) -> "cde"` Syntax: `mid(str,start,len)` Second argument is starting index, with the first character being at index 0. Third argument is number of characters to return. Note this differs from Excel's mid function which has 1 as the index of the first character.
  - If `start` is greater than the length of the string an EvaluationException is thrown.
  - If `start` is less than zero an EvaluationException is thrown.
  - If `len` is less than zero an EvaluationException is thrown.
  - If `start+len` is greater than the length of the string return all characters from start.
  - If `str` is not a string an EvaluationException is thrown.
  - If `start` is not a number representing an integer an EvaluationException is thrown.
  - If `end` is not a number representing an integer an EvaluationException is thrown.
  See Also:
    `String.substring(int, int)`, Serialized Form

- - ### Field Summary

    - ### Fields inherited from class com.singularsys.jep.functions.PostfixMathCommand

      `curNumberOfParameters, name, NaN, numberOfParameters`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Mid()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `eval(java.lang.Object[] args)` Evaluate the function

    - ### Methods inherited from class com.singularsys.jep.functions.NaryFunction

      `run`

    - ### Methods inherited from class com.singularsys.jep.functions.PostfixMathCommand

      `asArray, asBool, asDouble, asInt, asLong, asStrictInt, asString, checkNumberOfParameters, getName, getNumberOfParameters, setCurNumberOfParameters, setName, toString, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Mid

          public Mid()

  - ### Method Detail

    - #### eval

          public java.lang.Object eval(java.lang.Object[] args)
                                throws EvaluationException

      Description copied from class: `NaryFunction`
      Evaluate the function
      Specified by:
        `eval` in class `NaryFunction`
      Parameters:
        `args` - arguments to the function
      Returns:
        value returned by the function
      Throws:
        `EvaluationException` - if the calculation cannot be performed

Copyright © 2018 Singular Systems http://www.singularsys.com/jep