String-Manipulation in javascript
Reiner Wirth
- javascript
0 Cheatah0 Reiner Wirth0 Struppi0 Reiner Wirth2 Cheatah
Hallo,
ich bin sicher, es gibt sie, ich kann sie nur nicht finden:
Eine Stringmanipulation, ich möchte an eine als Variable übergebene URL am Anfang noch "wmp" anfügen und sie dann eitergben, also wenn z. B. "01.html" ankommt, soll daraus "wmp01.html" gemacht werden.
Darf ich da auf einen helfenden Hinweis hoffen?
Danke schon mal im Voraus.
Reiner
Hi,
Darf ich da auf einen helfenden Hinweis hoffen?
der Operator zur String-Konkatenation lautet in JavaScript "+".
Cheatah
Hi,
Darf ich da auf einen helfenden Hinweis hoffen?
der Operator zur String-Konkatenation lautet in JavaScript "+".
Cheatah
Super, danke, aber leider hab ich bei meiner Frage noch nicht weit genug gedacht, und deshalb nicht gleich richtig gefragt. Sorry
Meine URL besteht ja auch noch aus einem Pfad und der kann ../Sound1/ oder ../Sound2/ (vor dem soundx) heißen und ich will mein "wmp" nur mit soundx verbinden.
zum Glück lässt sich vorhersagen dass die Verbindung (Konkatenation, ist das so richtig?) immer nach ../Sound1/ oder ../Sound2/ erfolgen muss also nach dem 10. ASCI-Byte der kompletten Variablen.
Darf ich nochmal hoffen?
Gruß und Dank
Reiner
zum Glück lässt sich vorhersagen dass die Verbindung (Konkatenation, ist das so richtig?) immer nach ../Sound1/ oder ../Sound2/ erfolgen muss also nach dem 10. ASCI-Byte der kompletten Variablen.
was hälst du von lastIndexOf()?
Struppi.
zum Glück lässt sich vorhersagen dass die Verbindung (Konkatenation, ist das so richtig?) immer nach ../Sound1/ oder ../Sound2/ erfolgen muss also nach dem 10. ASCI-Byte der kompletten Variablen.
was hälst du von lastIndexOf()?
Struppi.
Danke, sehr viel, wie Du leicht sehen kannst, es hat zwar gedauert, aber jetzt bin ich schlauer, steht ja auch alles in SELFHTM, man muss es nur finden. Ohne eure Tipps findet man halt manches nicht in so einem riesigen Gebiet
Geht das nicht kürzer als so:
var Laenge = Sound.length;
var Suche = Sound.lastIndexOf ("/");
var Pfad = Sound.slice (0, Suche + 1);
var sndName = Sound.slice (Suche + 1, Laenge);
wmpSound = Sound.slice (0, Suche + 1) + "wmp" + Sound.slice (Suche + 1, Laenge);
alert("Länge = "+Laenge+" Pfad = "+Pfad+" Name des Sounds = "+sndName+" Neue URL: "+wmpSound);
Hi,
Geht das nicht kürzer als so:
mittels substr() bzw. substring() geht es in einer Zeile - wobei ich zwei empfehle, da Du das Ergebnis von lastIndexOf() mehrmals brauchst und somit zwischenspeichern solltest. Hingegen brauchst Du slice() IMHO gar nicht.
Einige Tipps noch zum Coding Style, wie es so schön auf Neudeutsch heißt:
var Laenge = Sound.length;
Mit Großbuchstaben beginnende Bezeichner sollten für Klassen und Konstanten reserviert sein; letztere werden üblicherweise komplett groß geschrieben. Ferner empfiehlt es sich, mit den Bezeichnern in einer einzigen Sprache zu bleiben - ich empfehle das Englische. Dies ergäbe hier 'var length', was wiederum vermieden werden sollte, weil 'length' einfach zu üblich ist. Die Folge wäre hier ein 'var sndLength', auch in Anlehnung an Dein 'sndName'.
var Suche = Sound.lastIndexOf ("/");
Schließe die öffnende Funktionsklammer direkt an den Methodennamen an. Übernimm dies aber bitte nicht zu den Bedingungsklammern bei if, for, while u.ä.
var Pfad = Sound.slice (0, Suche + 1);
Leerzeichen lockern auf. Achte aber darauf, dass es nicht _zu_ locker wird. Dieser Code wirkt, als gäbe es drei Funktionsargumente.
wmpSound = Sound.slice (0, Suche + 1) + "wmp" + Sound.slice (Suche + 1, Laenge);
wmpSound = Sound.slice(0, Suche+1) + "wmp" + Sound.slice(Suche+1, Laenge);
Dies liest sich IMHO sehr viel flüssiger, man erkennt die Zugehörigkeiten mit einem Blick.
Cheatah
wmpSound = Sound.slice(0, Suche+1) + "wmp" + Sound.slice(Suche+1, Laenge);
Dies liest sich IMHO sehr viel flüssiger, man erkennt die Zugehörigkeiten mit einem Blick.
Cheatah
Vielen Dank für eure Hilfe, javascript fängt an, Freude zu bereiten!
Reiner