Eliminar todo después de una parte de una cadena
Tengo una cuerda que se construye de tres partes. La palabra que quiero que la cadena sea (cambia), una parte de separación (no cambia) y la última parte que cambia. Quiero eliminar la parte de separación y la parte final. La parte de separación es "-" así que lo que me pregunto es si hay una manera de eliminar todo después de una parte de la cadena.
Un ejemplo de este escenario sería si quería cambiar esto: "Desbordamiento de pila – Un lugar para preguntar cosas" en esto: "Desbordamiento de pila". Cualquier ayuda es apreciada!
- Android: java.lang.OutOfMemoryError:
- ¿Por qué está el menú desplegable de desbordamiento encima de la barra de acción?
- Cómo pasar un argumento a un hilo
- Ordenar arraylist de cadena en android
- ¿Cómo correctamente y consistentemente se burlan de la ubicación en Android?
- Androide lectura entrada de usuario en un servicio
- ¿Qué significa // noinspection ForLoopReplaceableByForEach?
- Codificador y decodificador Base64
- Tools.jar parece no estar en el classpath de Android Studio en Windows 8
- Desarrollo / implementación de Linux para Samsung Galaxy S3
- En Android, ¿cómo puedo configurar la altura y el ancho de un elemento ListView?
- ¿Cómo aprender un marco sin tutoriales
- Diseño de fragmentos: ¿Cómo adaptarse a múltiples diseños de pantalla mostrando / ocultando fragmentos dentro de una sola actividad?
Por ejemplo, usted podría hacer:
String result = input.split("-")[0];
o
String result = input.substring(0, input.indexOf("-"));
(Y agregar el manejo de errores relevante)
El apache commons StringUtils proporciona un método substringBefore
StringUtils.substringBefore("Stack Overflow - A place to ask stuff", " - ")
Puedes usar esto
String substr = mysourcestring.substring(0,mysourcestring.indexOf("-"));
SubString
el programa de la muestra para todos los approches y SubString
parece ser uno más rápido.
Using builder : 54 Using Split : 252 Using Substring : 10
A continuación se muestra el código de programa de ejemplo
for (int count = 0; count < 1000; count++) { // For JIT } long start = System.nanoTime(); //Builder StringBuilder builder = new StringBuilder( "Stack Overflow - A place to ask stuff"); builder.delete(builder.indexOf("-"), builder.length()); System.out.println("Using builder : " + (System.nanoTime() - start) / 1000); start = System.nanoTime(); //Split String string = "Stack Overflow - A place to ask stuff"; string.split("-"); System.out.println("Using Split : " + (System.nanoTime() - start) / 1000); //SubString start = System.nanoTime(); String string1 = "Stack Overflow - A place to ask stuff"; string1.substring(0, string1.indexOf("-")); System.out.println("Using Substring : " + (System.nanoTime() - start) / 1000); return null;
Tal vez eso es lo que usted está buscando:
String str="Stack Overflow - A place to ask stuff"; String newStr = str.substring(0, str.indexOf("-"));
Esto hará lo que usted necesita:
newValue = oldValue.substring(0, oldValue.indexOf("-");
- Android app doens't llamada "onDestroy ()" cuando se mata (ICS)
- No puede publicar la versión actualizada de la aplicación en Google Play Store.