我想用以下符号分割我的字符串:+, - ,*,/但.split函数只接受一个

时间:2014-02-02 09:21:39

标签: java android arrays string split

目前,这是我的代码:

public void setEquals(View v){
    EditText txtDisplay = (EditText) findViewById(R.id.txtDisplay);
    display = txtDisplay.getText().toString();
    String[] strArrDisplay = display.split("\\+");
    txtDisplay.setText(String.valueOf(strArrDisplay[0]));

我当前的代码只能成功分割加号(+)。如果有加号,减号,乘号或除号,我希望拆分字符串。

假设输入为:123 + 5-2 所以期望的输出应该是:

strArrDisplay[0] = "123"
strArrDisplay[1] = "5"
strArrDisplay[2] = "2"

2 个答案:

答案 0 :(得分:7)

String.split需要一个正则表达式来拆分,所以你可以简单地:

 String[] array = myString.split("\\+|\\-|\\*|\\/");

请给我一些反馈

希望有所帮助。

答案 1 :(得分:1)

您可以使用StringTokenizer分割字符串。

    StringTokenizer tokens = new StringTokenizer("123+766-12", "-+*/");
    while (tokens.hasMoreTokens()) {
        Log.d("test", tokens.nextToken());
    }