¿Cómo dividir una cadena con un set de delimitadores y encontrar qué delimitador era? Kotlin

Así que estoy aprendiendo Kotlin ahora, y estaba tratando de hacer una calculadora donde podamos expressnos como 4 + 3 o 3 * 5 y obtendremos la respuesta, así que estaba tratando de dividir esa cadena de input y luego encontrar qué operador es utilizado y cuáles son los operandos.

var list = str.split("+","-","*","/" ) 

Entonces, ¿cómo puedo get el delimitador que se utiliza para dividir esa cadena también?

    Me temo que el método de split no tiene esta característica. Tendría que dividir la cadena a través de llamadas split separadas. Y compare el resultado con la secuencia original. Si la cadena no se dividió por un delimitador determinado, ese resultado debería ser el mismo.

    P.ej. Me gusta esto:

     var str = "5+1" var delimiters = arrayOf("+","-","*","/") var found = "Not found" for (delimiter in delimiters) { var splited = str.split(delimiter) if(splited[0] != str) { found = delimiter break } } println(found)