Je veux diviser ma chaîne avec les symboles suivants: +, -, *, / mais .split function n'accepte qu'un

Actuellement, c'est mon code:

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])); 

Mon code actuel ne peut que fractionner avec succès le signe plus (+). Je veux que la chaîne soit divisée s'il y a un signe plus, moins, multiplier ou diviser les signes.

Disons que l'entrée serait: 123 + 5-2, donc la sortie souhaitée devrait être:

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

  • Elément aléatoire de chaîne array
  • Passer la liste <String> au paramètre String ...
  • 2 Solutions collect form web for “Je veux diviser ma chaîne avec les symboles suivants: +, -, *, / mais .split function n'accepte qu'un”

    String.split prend un regex pour se diviser, de sorte que vous pouvez simplement:

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

    Donnez-moi quelques commentaires

    J'espère que cela pourra aider .

    Vous pouvez utiliser StringTokenizer pour diviser votre chaîne.

      StringTokenizer tokens = new StringTokenizer("123+766-12", "-+*/"); while (tokens.hasMoreTokens()) { Log.d("test", tokens.nextToken()); } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.