String 如何使用一组分隔符拆分字符串并找到它是什么分隔符?科特林

String 如何使用一组分隔符拆分字符串并找到它是什么分隔符?科特林,string,split,kotlin,calculator,String,Split,Kotlin,Calculator,我现在在学习Kotlin,我试着做一个计算器,如果我们能给出4+3或3*5这样的表达式,我们就会得到答案,所以我试着拆分输入字符串,然后找到使用的运算符和操作数 var list = str.split("+","-","*","/" ) 因此,我如何获得用于拆分该字符串的分隔符。恐怕split方法没有此功能。您必须通过单独的split调用拆分字符串。并将结果与原始字符串进行比较。如果字符串没有被给定的分隔符分割,那么结果应该是相同的 像这样: var str = "5+1" var deli

我现在在学习Kotlin,我试着做一个计算器,如果我们能给出4+3或3*5这样的表达式,我们就会得到答案,所以我试着拆分输入字符串,然后找到使用的运算符和操作数

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

因此,我如何获得用于拆分该字符串的分隔符。

恐怕
split
方法没有此功能。您必须通过单独的
split
调用拆分字符串。并将结果与原始字符串进行比较。如果字符串没有被给定的分隔符分割,那么结果应该是相同的

像这样:

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)