it-swarm.com.de

Wie schneide ich einen String auf N Zeichen in Javascript?

Wie kann ich mit Javascript eine Funktion erstellen, die als Argument übergebene Zeichenfolge auf eine angegebene Länge trimmt, die auch als Argument übergeben wird. Zum Beispiel:

var string = "this is a string";
var length = 6;
var trimmedString = trimFunction(length, string);

// trimmedString should be:
// "this is"

Hat jemand Ideen? Ich habe etwas von der Verwendung von Teilstrings gehört, aber nicht ganz verstanden.

110
user825286

Warum nicht einfach den Teilstring verwenden ... string.substring(0, 7); Das erste Argument (0) ist der Ausgangspunkt. Das zweite Argument (7) ist der Endpunkt (exklusiv). Mehr Infos hier.

var string = "this is a string";
var length = 7;
var trimmedString = string.substring(0, length);
244
Will

Wills -Kommentar in eine Antwort kopiert, weil ich es nützlich fand:

var string = "this is a string";
var length = 20;
var trimmedString = string.length > length ? 
                    string.substring(0, length - 3) + "..." : 
                    string;

Danke, Will.

Und ein Jsfiddle für alle, die sich interessieren https://jsfiddle.net/t354gw7e/ :)

30
Jon Lauridsen

Ich schlage vor, eine Erweiterung für die Code-Neatness zu verwenden. Beachten Sie, dass die Erweiterung eines internen Objektprototyps möglicherweise Bibliotheken, die von ihnen abhängig sind, beeinträchtigen kann.

String.prototype.trimEllip = function (length) {
  return this.length > length ? this.substring(0, length) + "..." : this;
}

Und benutze es wie:

var stringObject= 'this is a verrrryyyyyyyyyyyyyyyyyyyyyyyyyyyyylllooooooooooooonggggggggggggsssssssssssssttttttttttrrrrrrrrriiiiiiiiiiinnnnnnnnnnnnggggggggg';
stringObject.trimEllip(25)
8
student
7
kendaleiv
    let trimString = function (string, length) {
      return string.length > length ? 
             string.substring(0, length) + '...' :
             string;
    };

Anwendungsfall,

let string = 'How to trim a string to N chars in Javascript';

trimString(string, 20);

//How to trim a string...
0
MD. ABU TALHA

Etwas spät ... ich musste antworten. Dies ist der einfachste Weg.

// JavaScript
function fixedSize_JS(value, size) {
  return value.padEnd(size).substring(0, size);
}

// JavaScript (Alt)
var fixedSize_JSAlt = function(value, size) {
  return value.padEnd(size).substring(0, size);
}

// Prototype (preferred)
String.prototype.fixedSize = function(size) {
  return this.padEnd(size).substring(0, size);
}

// Overloaded Prototype
function fixedSize(value, size) {
  return value.fixedSize(size);
}

// usage
console.log('Old school JS -> "' + fixedSize_JS('test (30 characters)', 30) + '"');
console.log('Semi-Old school JS -> "' + fixedSize_JSAlt('test (10 characters)', 10) + '"');
console.log('Prototypes (Preferred) -> "' + 'test (25 characters)'.fixedSize(25) + '"');
console.log('Overloaded Prototype (Legacy support) -> "' + fixedSize('test (15 characters)', 15) + '"');

Schritt für Schritt. . padEnd - Gibt die Länge der Zeichenfolge aus 

"Die Methode padEnd () füllt die aktuelle Zeichenfolge mit einer angegebenen Zeichenfolge (ggf. wiederholt), sodass die resultierende Zeichenfolge eine bestimmte Länge erreicht. Die Auffüllung wird vom Ende (rechts) der aktuellen Zeichenfolge angewendet Das Beispiel ist in einem GitHub-Repository gespeichert. " source: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 

.String - begrenzt die Länge, die Sie benötigen

Wenn Sie Ellipsen hinzufügen möchten, hängen Sie sie an die Ausgabe an.

Ich habe 4 Beispiele für allgemeine JavaScript-Verwendungen gegeben. Ich empfehle dringend die Verwendung des String-Prototyps mit Überladung für die Unterstützung älterer Server. Dies erleichtert die spätere Implementierung und Änderung.

0
Matthew Egan