Quiero eliminar una parte de la cadena de un personaje, es decir:extirpar parte de la cadena
cadena original: Manchester United (con jugadores buenos)
Futuro resultado: Manchester United
Quiero eliminar una parte de la cadena de un personaje, es decir:extirpar parte de la cadena
cadena original: Manchester United (con jugadores buenos)
Futuro resultado: Manchester United
Hay varias maneras de hacerlo. Si tiene la cadena que desea reemplazar, puede utilizar los métodos replace
o replaceAll
de la clase String
. Si está buscando reemplazar una subcadena, puede obtener la subcadena usando la API substring
.
Por ejemplo
String str = "manchester united (with nice players)";
System.out.println(str.replace("(with nice players)", ""));
int index = str.indexOf("(");
System.out.println(str.substring(0, index));
Para reemplazar el contenido dentro "()" se puede utilizar:
int startIndex = str.indexOf("(");
int endIndex = str.indexOf(")");
String replacement = "I AM JUST A REPLACEMENT";
String toBeReplaced = str.substring(startIndex + 1, endIndex);
System.out.println(str.replace(toBeReplaced, replacement));
algun tipo de error debe ser 'String toBeReplaced = str.substring (startIndex, endIndex + 1);' – Yeung
tambien valdria la pena eliminar el espacio: System.out.println (str. replace ("(con buenos jugadores)", ""); – kiedysktos
Uso String.Replace():
http://www.daniweb.com/software-development/java/threads/73139
Ejemplo:
String original = "manchester united (with nice players)";
String newString = original.replace(" (with nice players)","");
¿Alguna razón en particular por la que se votó? –
Yo no era el que menospreciaba pero quizás porque usted puso Reemplazar en el caso equivocado? –
Gracias Mike. Lo corregiré. –
cadena de reemplazo
String s = "manchester united (with nice players)";
s = s.replace(" (with nice players)", "");
Editar:
Por Índice de
s = s.substring(0, s.indexOf("(") - 1);
no se olvide 's = s.replace (...)' – dasblinkenlight
Olvidé eso gracias. Voy a actualizar. –
No puede ser, porque lo que está entre paréntesis puede cambiar. Necesito cambiar la cadena del caracter ( – zmki
se debe utilizar el método() del objeto String subcadena.
Aquí es un ejemplo de código:
Supuesto: Estoy asumiendo aquí que desea recuperar la cadena hasta el primer paréntesis
String strTest = "manchester united(with nice players)";
/*Get the substring from the original string, with starting index 0, and ending index as position of th first parenthesis - 1 */
String strSub = strTest.subString(0,strTest.getIndex("(")-1);
lo haría en un primer momento dividir la cadena original en una matriz de cadena con un token "(" y la cadena en la posición 0 de la matriz de salida es lo que le gustaría tener.
String[] output = originalString.split(" (");
String result = output[0];
usted podría utilizar para replace
arregla tu cadena A continuación, todo vuelve antes de que un "(" y también despojar a todos los espacios iniciales y finales. Si la cadena comienza con un "(" se acaba de dejarlo como está.
str = "manchester united (with nice players)"
matched = str.match(/.*(?=\()/)
str.replace(matched[0].strip) if matched
Esto no parece funcionar en Java. Podría ser derivado de ECMAscript. ¿Tiene algún método para hacer que este código funcione como está en Java? – 1111161171159459134
Usando StringBuilder, puede reemplace de la siguiente manera.
StringBuilder str = new StringBuilder("manchester united (with nice players)");
int startIdx = str.indexOf("(");
int endIdx = str.indexOf(")");
str.replace(++startIdx, endIdx, "");
originalString.replaceFirst("[(].*?[)]", "");
https://ideone.com/jsZhSC
replaceFirst()
pueden ser reemplazados por replaceAll()
// Java program to remove a substring from a string
public class RemoveSubString {
public static void main(String[] args) {
String master = "1,2,3,4,5";
String to_remove="3,";
String new_string = master.replace(to_remove, "");
// the above line replaces the t_remove string with blank string in master
System.out.println(master);
System.out.println(new_string);
}
}
Using StringUtils from commons lang
Una cadena de origen nula devolverá un valor nulo. Una cadena fuente vacía ("") devolverá la cadena vacía. Una cadena de eliminación nula devolverá la cadena fuente. Una cadena de eliminación vacía ("") devolverá la cadena fuente.
String str = StringUtils.remove("Test remove", "remove");
System.out.println(str);
//result will be "Test"
¿Cómo sabe qué parte conservar y qué parte desechar? Sin saber eso, es imposible responder a tu pregunta? – Raedwald