22 Stimmen

Java String trim hat keine Wirkung

Java String trim entfernt kein Leerzeichen für mich.

String rank = (some method);
System.out.println("(" + rank + ")");

Die Ausgabe ist (1 ). Beachten Sie den Platz rechts von der 1.

Ich muss das Leerzeichen am Ende des Strings rank entfernen, aber weder rank.trim() noch rank.replace(" ","") entfernt es.

Der String rank bleibt einfach gleich.

Bearbeiten: Vollständiger Code:

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+")");
}

Warum kann ich das Leerzeichen nicht entfernen?

5 Stimmen

Verwenden Sie rank = rank.trim(); oder einfach rank.trim();? Die zweite wird nicht funktionieren.

0 Stimmen

Bitte geben Sie den trim() Code an, den Sie verwendet haben.

0 Stimmen

@TerryLi Vielleicht solltest du uns eine Idee geben, was (some method) macht.

0voto

Kishor Sharma Punkte 599

Die Trim-Funktion gibt eine neue Kopie des Strings zurück, bei der führende und nachfolgende Leerzeichen entfernt wurden.

rank = rank.trim(); // Dadurch werden führende und nachfolgende Leerzeichen entfernt und gespeichert

wird das gewünschte Ergebnis liefern.

Die Replace-Methode funktioniert nicht, wenn Sie einen leeren String als Ersatz übergeben.

1 Stimmen

Wenn Sie sich nicht sicher sind, was Leerzeichen betrifft, empfehle ich Ihnen, Regex zu verwenden, um die Nummer zu extrahieren. Verwenden Sie "((-|\+)?[0-9]+(\.[0-9]+)?)+" Regex wird die Nummer aus dem String extrahieren.

0 Stimmen

Ich werde deinen Rat befolgen. Aber ich frage mich immer noch, was die beiden Leerzeichen bedeuten.

0 Stimmen

@TerryLi Es sei denn, Sie geben uns mehr Informationen (wie ein kleines funktionierendes Programm), werden wir nie wissen...

0voto

heretolearn Punkte 6117

Da Stringe in Java unveränderlich sind, dh sie können nicht geändert werden. Sie müssen ihn also einer temporären Zeichenkette zuweisen. Und dann können Sie ihn in eine Ganzzahl umwandeln.

String temp=rank.trim()
int te= Integer.parseInt(temp)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X