Mon 25-Jul-2011
Ich möchte das erste Wort “Mon” mit Javascript jQuery löschen. Wie kann ich das machen ?
prim
Mon 25-Jul-2011
Ich möchte das erste Wort “Mon” mit Javascript jQuery löschen. Wie kann ich das machen ?
Wenn Sie die Zeichenfolge nicht aufteilen möchten (schneller, weniger Speicherverbrauch), können Sie verwenden Index von() mit substr():
var original = "Mon 25-Jul-2011";
var result = original.substr(original.indexOf(" ") + 1);
würde verwenden original.split(' ').pop();
schneller sein, wenn wir nur das letzte Element als Ergebnis haben wollen?
– Christus Kleetus
8. Juli 2015 um 12:23 Uhr
@Cristus, Sie müssen immer noch die gesamte Zeichenfolge tokenisieren und ein Array mit den Token erstellen, nur um auf das letzte zuzugreifen. pop()
wird dieses Array auch umsonst mutieren (es wird das zurückgegebene Element entfernen). Also ich glaube nicht, dass es schneller wäre, nein.
– Frédéric Hamidi
8. Juli 2015 um 12:27 Uhr
Dies ist eine gute Antwort, übersieht jedoch die Tatsache, dass die Zeichenfolge möglicherweise ein zusätzliches abschließendes Leerzeichen vor der Zeichenfolge enthält, wodurch dies zu einer falschen Lösung wird. Sie müssen zusätzliche Leerzeichen kürzen.
– AleksandrH
5. Dezember 2016 um 15:35 Uhr
@Aleksandr, es ist ziemlich schwierig, all die Dinge zu bewerten, die bei der Beantwortung einer Frage mit einem bestimmten Kontext “übersehen” werden können. Ja, es könnten führende Leerzeichen vorhanden sein (obwohl in dieser speziellen Frage keine vorhanden sind), oder die Leerzeichen könnten etwas anderes als “normale” Leerzeichen sein (unterbrechungsfrei, dünn, schmal, en, em usw.) oder etwas anderes. Normalerweise versuche ich, mich an den Umfang der Frage zu halten, sonst würde ich am Ende riesige Antworten erhalten und die Teile verwässern, die die Fragen ohne Weiteres ansprechen.
– Frédéric Hamidi
5. Dezember 2016 um 15:39 Uhr
Fair genug, obwohl ich mir nicht vorstellen kann, dass es noch andere Dinge geben könnte, die Sie berücksichtigen müssten, wenn wir nur mit Zeichenfolgen arbeiten, abgesehen von der Möglichkeit, Leerzeichen zu führen (was eine einfache Lösung ist). Ich wollte nur darauf hinweisen, dass es eine “umfassendere” Lösung gibt.
– AleksandrH
5. Dezember 2016 um 17:34 Uhr
Christoph CVB
var string = "Mon 25-Jul-2011";
var parts = string.split(' ');
parts.shift(); // parts is modified to remove first word
var result;
if (parts instanceof Array) {
result = parts.join(' ');
}
else {
result = parts;
}
// result now contains all but the first word of the string.
Ich wollte das erste Wort aus jedem Element in einem Array von Zeichenfolgen entfernen. Das habe ich mit gemacht split
, slice
, join
.
var str = "Mon 25-Jul-2011"
var newStr = str.split(' ').slice(1).join(' ')
console.log(str)
Führen Sie diesen Code in der Konsole aus, Sie erhalten die erwartete Zeichenfolge.
Eine andere Lösung:
var line = "Mon 25-Jul-2011";
var edited = line.substring( line.indexOf(" ") + 1, line.length );
zu bezahlen
Sie können jeden Dom manipulieren, indem Sie seine Referenz-ID, Klasse oder Tag verwenden. Beispiel
<div id="date">Mon 25-Jul-2011</div>
<script>
$(document).ready(function() {
var strDate = $('#date').html();
// Using regex, this will remove any day which may present in your date DOM
strDate.replace(/(mon|tue|wed|thu|fri|sat)/i, '');
// This to trim any space present
strDate.replace(/^\s+|\s+$/g,'');
$('#date').html(strDate);
});
</script>
Rückfall
var str = "Mon 25-Jul-2011";
var firstSpace=str.indexOf(" ");
var newStr= str.slice(firstSpace);
//result:"25-Jul-2011"
foz
Dies sollte “25-Jul-2011” ausgeben:
var string = "Mon 25-Jul-2011";
string = string.split(' ').pop();
Nein, wenn ich etwas wie “Stack Over Flow” habe, gibt es “Flow” zurück.
– Francisco Corrales Morales
7. April 2015 um 15:34 Uhr
Dies ist kein allgemeiner Fall, wie @FranciscoCorralesMorales erwähnte
– hatirlatici
18. Januar 2021 um 11:31 Uhr