Skip to content

Instantly share code, notes, and snippets.

@dandean
Forked from gf3/gist:166083
Created August 26, 2010 21:45
Show Gist options
  • Save dandean/552319 to your computer and use it in GitHub Desktop.
Save dandean/552319 to your computer and use it in GitHub Desktop.
// 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