java - remove - trim android example
Java String trim no tiene efecto (7)
Java String trim no está eliminando un carácter de espacio en blanco para mí.
String rank = (some method);
System.out.println("(" + rank + ")");
La salida es (1 )
. Note el espacio a la derecha del 1.
Tengo que eliminar el espacio final de la cadena, pero ni rank.trim()
ni rank.replace(" ","")
eliminan.
El rank
cadena sigue siendo el mismo de cualquier manera.
Edición: Código Completo ::
Document doc = Jsoup.connect("http://www.4icu.org/ca/").timeout(1000000).get();
Element table = doc.select("table").get(7);
Elements rows = table.select("tr");
for (Element row: rows) {
String rank = row.select("span").first().text().trim();
System.out.println("("+rank+")");
}
¿Por qué no puedo quitar ese espacio?
¿Está asignando la cadena?
String rank = " blabla ";
rank = rank.trim();
No olvide la segunda asignación, o su cadena recortada no irá a ninguna parte.
También puede buscar este tipo de cosas en la API: http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#trim ()
Como puede ver, este método devuelve una cadena, como hacen la mayoría de los métodos que operan en una cadena. Devuelven la cadena modificada y dejan la cadena original intacta.
Dado que las cadenas en java son inmutables, es decir, no se pueden cambiar. Necesitas reasignarlo a una cadena temporal. Y luego usando esa cadena puedes convertirla en int.
String temp=rank.trim()
int te= Integer.parseInt(temp)
Debe asignar el resultado de recortar a la variable String
. De lo contrario no va a funcionar, porque las cadenas en Java son inmutables .
String orig = " quick brown fox ";
String trimmed = original.trim();
El código fuente de ese sitio web muestra el carácter html especial
. Intente buscar o reemplazar lo siguiente en su Cadena de Java: /u00A0
.
Ese es un espacio no rompible. Ver: Tengo una cadena con "/ u00a0", y necesito reemplazarla con "" str_replace falla
rank = rank.replaceAll("/u00A0", "");
Deberia trabajar. Tal vez agregue un doble //
lugar de la /
.
El carácter es un espacio sin interrupciones y, por lo tanto, no se elimina con el método trim()
. Iterar a través de los caracteres e imprimir el valor int de cada uno, para saber qué carácter debe reemplazar por una cadena vacía para obtener lo que desea.
La función de recorte devuelve una nueva copia de la cadena, con espacios en blanco iniciales y finales omitidos.
rank = rank.trim();// This will remove and save rank without leading and trailing spaces
Te dará el resultado que quieras.
El método de reemplazo no funcionará si pasa una cadena vacía para el reemplazo.
Tuve el mismo problema e hice poca manipulación en el método trim () de java.
Puedes usar este código para recortar:
public static String trimAdvanced(String value) {
Objects.requireNonNull(value);
int strLength = value.length();
int len = value.length();
int st = 0;
char[] val = value.toCharArray();
if (strLength == 0) {
return "";
}
while ((st < len) && (val[st] <= '' '') || (val[st] == ''/u00A0'')) {
st++;
if (st == strLength) {
break;
}
}
while ((st < len) && (val[len - 1] <= '' '') || (val[len - 1] == ''/u00A0'')) {
len--;
if (len == 0) {
break;
}
}
return (st > len) ? "" : ((st > 0) || (len < strLength)) ? value.substring(st, len) : value;
}