Blog
In JavaScript Show Longest Word in a String
Posted on November 28, 2017 in Algorithms, JavaScript, Regular Expressions by Matt Jennings
function longestWord(sen) {
// 'sen' is a string and 'match'
// matches all the items in the
// 'sen' string (per the regex)
// an array of matched parts of the string.
// The '/a-z0-9+/gi' regular expression
// matches a part of the string with letters or numbers
// case insentively (the 'i') and
// globally (the 'g') which means that
// not ONLY the first matching array element
// will be returned and the '+' means
// that a matching part of the string
// will have one or more letters and/or numbers
// matching.
var arr = sen.match(/[a-z0-9]+/gi);
// The function below returns an array of sorted
// elements from the longest length element to the
// shortest length element. If two elements
// are of equal length then the array element that
// comes first is sorted before the element
// that came second.
var sorted = arr.sort(function(a, b) {
return b.length - a.length;
});
// The first element of the 'sorted' array is returned
// because it is either the longest length array element
// or tied for the longest length array element.
return sorted[0];
}
// Output is "coderbyte999"
console.log(longestWord("the $$$longest# word is coderbyte999"));
Leave a Reply