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" 

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()); } 
  • Exemple de descripteur de fuite de fichier?
  • Nom d'exception AndroidNotFoundException
  • Bibliothèque XML XML-RPC?
  • La réponse de Json est très lente
  • Existe-t-il une façon d'utiliser les interfaces fonctionnelles Java 8 sur l'API Android ci-dessous 24?
  • Java comparator, comment trier par nombre entier?
  • Retard sporadique dans un jeu Android
  • RoboSpice lance des exceptions okhttp
  • coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.