Quiero dividir mi cadena con los siguientes símbolos: +, -, *, / pero la función .split sólo acepta una
Actualmente, este es mi código:
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]));
Mi código actual sólo puede dividir con éxito el signo más (+). Quiero que la cadena se divida si hay una más, menos, multiplicar, o dividir los signos.
- Android StringBuilder vs Concatenación de cadenas
- Cadena dinámica utilizando String.xml?
- ¿Cómo inserto un salto de línea en una cadena para mostrarlo en un widget Android TextView?
- String-arrays de referencia en android strings.xml
- Cómo getResources (). GetString () funciona android
Digamos que la entrada sería: 123 + 5-2 para que la salida deseada sea:
strArrDisplay[0] = "123" strArrDisplay[1] = "5" strArrDisplay[2] = "2"
- Margen ajustado a la primera línea de textView
- Android convertir Cadena a byte - tomar byte en las piezas
- Android (cambio de cadena en código java)
- Ellipsize sólo una sección en un TextView
- Conversión de TextView a String (tipo de) Android
- Calendario de Android Java getDisplayName / s devolver null
- Quitar el prefijo de URL de String (http: /, www, etc.)
- Cuerdas Android dependientes del tema
String.split toma un regex para dividir, por lo que puede simplemente:
String[] array = myString.split("\\+|\\-|\\*|\\/");
Por favor déme algunos comentarios
Espero que ayude .
Puede utilizar StringTokenizer
para dividir su cadena.
StringTokenizer tokens = new StringTokenizer("123+766-12", "-+*/"); while (tokens.hasMoreTokens()) { Log.d("test", tokens.nextToken()); }