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

TJ *_*all 5 java arrays string android 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]));
Run Code Online (Sandbox Code Playgroud)

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

假设输入为:123 + 5-2,因此所需的输出应为:

strArrDisplay[0] = "123"
strArrDisplay[1] = "5"
strArrDisplay[2] = "2"
Run Code Online (Sandbox Code Playgroud)

小智 8

String.split使用正则表达式进行拆分,因此您可以简单地:

 String[] array = myString.split("\\+|\\-|\\*|\\/");
Run Code Online (Sandbox Code Playgroud)

请给我一些反馈

希望有所帮助.

  • 好的,downvote逆转.一个更简洁的解决方案可能是`split(Pattern.quote("+ - /*"))` (2认同)