2566 Stimmen

Wie kann ich das letzte Zeichen in einer Zeichenkette mit Javascript abschneiden/ausschneiden/abschneiden?

Ich habe eine Schnur, 12345.00 und ich möchte, dass sie zurückkehrt. 12345.0 .

Ich habe mir angesehen trim aber es sieht so aus, als würde es nur Leerzeichen und slice Ich wüsste nicht, wie das funktionieren sollte. Irgendwelche Vorschläge?

10 Stimmen

Wissen Sie, wie das Suffix lautet, oder wollen Sie das letzte Wort anhand der Unterstriche trennen und entfernen?

42 Stimmen

Ist Ihnen das Runden wichtig? 12345,46 = 12345,5 oder 12345,4?

-2voto

kamal Punkte 149

Versuchen Sie dies:

<script>
    var x="foo_foo_foo_bar";
    for (var i=0; i<=x.length; i++) {
        if (x[i]=="_" && x[i+1]=="b") {
            break;
        }
        else {
            document.write(x[i]);
        }
    }
</script>

Sie können auch das Live-Arbeitsbeispiel auf http://jsfiddle.net/informativejavascript/F7WTn/87/ .

3 Stimmen

Danke Kamal. Ich habe jedoch die obige Antwort für meine Bedürfnisse als akzeptiert markiert. Beachten Sie das grüne Häkchen oben. Allerdings habe ich mir deinen Code angesehen :) Nun, in meiner Situation kenne ich nur die gemeinsame Endzeichenfolge. Es wäre besser, die Prüfung am Ende der Zeichenkette zu beginnen. Ihr Vorschlag würde fehlschlagen, wenn ich eine Zeichenkette habe, die wie "foo_b_bar" aussieht, und ich nur das letzte "_bar" herausnehmen möchte. Trotzdem vielen Dank! Es ist schon eine interessante Erfahrung, eine Frage vor über 2 Jahren zu stellen und heute noch Antworten darauf zu erhalten :)

-8voto

griegs Punkte 22284

Verwenden Sie substring, um alles zu erhalten, was links von _bar steht. Aber zuerst müssen Sie den instr von _bar in der Zeichenkette erhalten:

str.substring(3, 7);

3 ist der Anfang und 7 ist die Länge.

1 Stimmen

Dies funktioniert nur bei "foo_bar", nicht bei "foo_foo_bar", die Frage bezog sich auf eine Zeichenkette mit beliebiger Länge, aber einem bekannten Ende.

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