2017-09-25 5 views
-1

私は今、コトリンを学んでいます。私は4 + 3や3 * 5のような表現を与えることができれば電卓をしようとしていました。私はその入力文字列を分割し、どのオペレータが使用され、どのオペランドが何であるか。デリミタのセットで文字列を分割し、どのデリミタであるかを調べる方法は?コトリン

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

どのようにして、その文字列を分割するために使用される区切り文字も取得できます。

答えて

1

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) 
関連する問題