2016-04-12 1 views
-2

Dieser TextScheibe Linie von Wörtern auf jeder <br>

1 firstWord 100 0  5 firstWord 
2 secondWord 100 0  5 secondWord 
3 thirdWord 0  0  0 thirdWord 

Mein Code tun dies

1 firstWord 100 

Ich möchte diese

1 firstWord 100 
2 secondWord 100 
3 thirdWord 0 

Dies ist mein Code

response.replace(/(\r\n|\n|\r)/gm,"<br>") 
    .replace(/\s+/g, 'space') 
    .split("space").slice(0, 3) 
    .join("space"); 

Dieser Code löscht alles in der Zeile, die das vierte Leerzeichen beginnt.

Wie kann ich es in jeder Pause arbeiten lassen? Pausen sind in diesem Teil erstellt:

(/(\r\n|\n|\r)/gm,"<br>") 
+1

Dieser Code erstellt eine Zeile in einem Nur-Text, dann ersetzt er "Leerzeichen mit einem tatsächlichen Wort" einfach um es klar zu machen. Dann löscht es alles außer den ersten 3 Wörtern. Aber ich möchte es auf jeder neuen Zeile löschen. –

+0

Hat jede Zeile genau die gleiche Anzahl von Elementen? –

+0

gleiche Anzahl von elemets aber unterschiedliche Anzahl von Länge, ja –

Antwort

1

Ich denke, man es auf diese Weise tun könnte ...

var str = "1 firstWord 100 0 5 firstWord\n2 secondWord 100 0 5 secondWord\n3 thirdWord 0 0 0 thirdWord" 
 
var results = str.match(/^((?:\S+\s+){2}\S+)/gmi); 
 

 
var output = ""; 
 
if (results !== null) { 
 
\t results.forEach(function(element,index) { 
 
    \t output += element + " <br/>"; 
 
    }); 
 
    document.write(output); 
 
}

oder etwas ähnliches zu Ihrer Lösung:

var arr = str.replace(/(\r\n|\n|\r)/gm,"<br>").replace(/\s+/gm, 'space').split('<br>'); 

arr.forEach(function(element,index,array){ 
    array[index] = element.split('space').splice(0,3).join(' '); 
}); 
Verwandte Themen