Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
// Truncate a string to the closest word
String.prototype.truncateToWord = function(length) {
return this
.slice(0, length + 1)
.split(/\s+/)
.slice(0, -1)
.join(" ");
};
// Examples
// The "v" marks the first character out of bounds.
// v
"cut that shit out now!".truncateToWord(15); // "cut that shit"
// v
"cut that shit out now!".truncateToWord(13); // "cut that shit"
// v
"cut that shit out now!".truncateToWord(10); // "cut that"
// From @tr0gd0rr (Ken Snyder)
// Untested
String.prototype.truncateToWord = function(length) {
return this.match(new RegExp('^(.{0,'+(+length)+'})(\\b|$)'))[1]
.replace(/\s+$/,''); // ghetto quick-fix to remove trailing white space
};
// Examples
// The "v" marks the first character out of bounds.
// v
"cut that shit out now!".truncateToWord(15); // "cut that shit"
// v
"cut that shit out now!".truncateToWord(13); // "cut that shit"
// v
"cut that shit out now!".truncateToWord(10); // "cut that"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment