Funktion die Zeilenumbrüche aus Variablen nimmt

Ich habe versucht eine Funktion zu schreiben die Zeilenumbrüche aus Variablen nehmen soll.
Jedoch muss ich bis jetzt immer in kauf nehmen, dass dabei das letzte Zeichen flöten geht.
Weiss jemand eine bessere Lösung ?

Danke. Grüße Sebastian

function umbruch_raus(text,umbruch){
/* Diese Funktion entfernt aus der Variablen >textumbruch1 && text[i] !="" && text[i] !=" " && text[i] !="\n")text_puffer += text[i].slice(0,text[i].length-1)+umbruch;
// text[i].length>1 ist true wenn man manuell Zeilenumbrueche einfuegt
}
i=text.length-1;
text_puffer += text[i].slice(0,text[i].length-1); // Es wird das hinzugefuegte H vom Anfang gesoescht
if(text[i].charCodeAt() ==72){
text_puffer = text_puffer.slice(0,text_puffer.length-1);
}
// Latin Code 72 ist der Code fur Zeilenumbruch
// charCodeAt() (Latin-1-Codewert an einer Position)
//alert(text[text.length-1].charCodeAt());
//if(text[i].charCodeAt()==72)alert(„FEHLER !!! text[i].charCodeAt()“+text[i].charCodeAt()+ " gefunden.");
text=text_puffer;
return text;
}

versuchs doch mal mit dem StringTokenizer von Java, der ist extra fuer StringFiltering gemacht.

String s =„balblabla/nalbblabla“;

StringTokenizer tokens = new StringTokenizer(s,"/n");

//weis gradnicht ob du „//n“ als deliminator //eingeben musst.

while(tokens.hasMoreTokens()){
String temp = tokens.nextToken();
mach etwasmit dem String.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Wäre super wenn das geht !!!
Meinst Du Java oder JavaScript ?
Ich brauch was für JavaScript.
Jedenfalls werde ich s versuchen.
Danke :smile:

String s =„balblabla/nalbblabla“;

StringTokenizer tokens = new
StringTokenizer(s,"/n");

//weis gradnicht ob du „//n“ als
deliminator //eingeben musst.

while(tokens.hasMoreTokens()){
String temp = tokens.nextToken();
mach etwasmit dem String.

Ich habe versucht eine Funktion zu
schreiben die Zeilenumbrüche aus
Variablen nehmen soll.
Jedoch muss ich bis jetzt immer in kauf
nehmen, dass dabei das letzte Zeichen
flöten geht.
Weiss jemand eine bessere Lösung ?

ne ne der StringTokenizer ist eine JAVA CLASS! Da kannst wohl lange mit probieren in JavaScript. Aber versuch doch den ZeilenumbruchString zu suchen und raus zu filtern.

ich hab da mal einen filter fuer die domain name gemacht. Vielleicht hilft dir das etwas weiter.

function setNewDomain(){
counter = 0;
index = -1;
var myURL = ‚http://www.swissquote.ch‘;
newDomain = „“;

//das http:// aus string filtern
temp = myURL.substr(7, myURL.length-7);

//removes the ‚www.‘ from the string
index = temp.search(/www.+/);
if(index != -1){
temp = temp.substr(index+4, temp.length-index);
}

//removes all the subdirectories
index = temp.indexOf("/");
if(index != -1){
newDomain = temp.substr(0,index);
}
else{
newDomain = temp;
}
parent.frames[1].document.domain
= „“+newDomain;
}

Ich hab eine Lösung :smile:
Ist vielleicht nicht super elegant geschrieben, aber funktioniert.
Ein Problem ist das man zwei Fälle hat.
Zeilenumbrüche die von einem Formularfeld stammen werden anders behandelt, wie Zeilenumbrüche die aus einer Variablen aus dem Script stammen.

Hier eine Lösung:

tach
tach

abc =„hallo\nhallo \n“;
X = abc.search("\n");
alert("#"+ abc.slice(X,X)+"#"); // liefert gar nichts
alert(„1#“+ abc.slice(X,X+1)+"#"); // liefert Zeilenumbruch
alert(„2#“+ abc.slice(X-1,X)+"#"); // liefert o
alert(„3#“+ abc.slice(0,X)+"#"+"#"+ abc.slice(X+1,abc.length)+"#"); // Entfernt erfolgreich den ersten Zeilenumbruch
formi = document.forms[0].tach.value;
X = formi.search("\n");
alert(„4#“+ formi.slice(X,X+1)+"#"); // liefert Zeilenumbruch
alert(„5#“+ formi.slice(X-1,X)+"#"); // liefert Zeilenumbruch
alert(„6#“+ formi.slice(X-2,X)+"#"); // liefert h und Zeilenumbruch
alert(„7#“+ formi.slice(0,X)+"#"+"#"+ formi.slice(X+1,formi.length)+"#"); // Aendert ueberhaubt nicts an Variable formi
alert(„7#“+ formi.slice(0,X-1)+"#"+"#"+ formi.slice(X+1,formi.length)+"#"); // Entfernt erfolgreich den ersten Zeilenumbruch
document.write("<font size="-1">");
document.write(„Wenn an der Position X ein Zeilenumbruch gefunen wurde, kann dieser auf folgende Weise entfernt werden:<br><br>“);
document.write(„Wenn die Quelle eine String-Variable ist, welche aus KEINEM Formular stammt:<br>“);
document.write(„abc.slice(0,X) + abc.slice(X+1,abc.length);<br><br>“);
document.write(„Wenn die Quelle eine String-Variable ist, welche aus EINEM Formular stammt:<br>“);
document.write(„formi.slice(0,X-1) + formi.slice(X +1,formi.length); <br>“);
document.write("</font>");