das Allerschlimmste! Der folgende Code gibt „llo“ anstelle des erwarteten „wo“ aus. Ich bekomme so überraschende Ergebnisse für ein paar andere Zahlen. was fehlt mir hier?
alert('helloworld'.substring(5, 2));
akula1001
das Allerschlimmste! Der folgende Code gibt „llo“ anstelle des erwarteten „wo“ aus. Ich bekomme so überraschende Ergebnisse für ein paar andere Zahlen. was fehlt mir hier?
alert('helloworld'.substring(5, 2));
Du verwirrst substring()
und substr()
: substring()
erwartet zwei Indizes und nicht Offset und Länge. In Ihrem Fall sind die Indizes 5 und 2, dh es werden die Zeichen 2..4 zurückgegeben, da der höhere Index ausgeschlossen wird.
Die zweite Antwort ist besser; es hat Beispiele
– Nathan
20. Juni 2020 um 18:36 Uhr
Sie haben drei Möglichkeiten in Javascript:
//slice
//syntax: string.slice(start [, stop])
"Good news, everyone!".slice(5,9); // extracts 'news'
//substring
//syntax: string.substring(start [, stop])
"Good news, everyone!".substring(5,9); // extracts 'news'
//substr
//syntax: string.substr(start [, length])
"Good news, everyone!".substr(5,4); // extracts 'news'
Überprüf den substring
Syntax:
Teilstring (von, bis)
aus Erforderlich. Der Index, wo die Extraktion gestartet werden soll. Das erste Zeichen ist bei Index 0
zu Optional. Der Index
wo die Extraktion gestoppt werden soll. Wenn es weggelassen wird, extrahiert es den Rest der Zeichenfolge
Ich gebe Ihnen zu, es ist ein bisschen seltsam. Wusste das selbst nicht.
Was Sie tun möchten, ist
alert('helloworld'.substring(5, 7));
alert('helloworld'.substring(5, 2));
Der obige Code ist falsch, weil der erste Wert der Startpunkt zum Endpunkt ist. ZB bewegen Sie sich von Zeichen 5, was ist o
und gehen Sie zu Char 2, das ist die l
so bekommen llo
Sie haben ihm also gesagt, dass er rückwärts gehen soll.
Was du willst ist
alert('helloworld'.substring(5, 7));
Alexandru Diakov
Siehe folgende Syntax:
str.substring(indexA, [indexB])
Wenn indexA > indexB
das substring()
Die Funktion verhält sich so, als ob die Argumente umgekehrt wären.
Betrachten Sie die Dokumentation hier:
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/substring
HoldOffHunger
Das habe ich getan…
var stringValue="Welcome to India";
// if you want take get 'India'
// stringValue.substring(startIndex, EndIndex)
stringValue.substring(11, 16); // O/p 'India'