Package 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`, `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, description, name, NaN, numberOfParameters`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Mid()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `eval(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, asType, checkNumberOfParameters, getDescription, getDescription, getDescriptionWithType, getName, getNumberOfParameters, setCurNumberOfParameters, setDescription, setName, toString, toString`

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

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

- ## Constructor Details

  - ### Mid

    public Mid()

- ## Method Details

  - ### eval

    public Object eval(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