coderbyte_Longest Word

题目信息

题目.JPG

input :Argument@@ goes here$$!
output:Argument

题目分析

  • 1、非英文字符的替换,str.replace(/[^a-zA-Z]/g," ")
  • 2、字符串分割,str.split(" ")
  • 3、遍历分割后数组,寻找长度最长word

代码实现

function LongestWord(sen) { 

  // code goes here  
  temp_str = sen.replace(/[^a-zA-Z]/g," ")
  temp_arr = temp_str.split(" ")
  var max_len = 0
  var out_word = ""
  for(var i = 0; i < temp_arr.length; i++)
  {
      if(temp_arr[i].length > max_len)
      {
          max_len = temp_arr[i].length
          out_word = temp_arr[i]
      }
  }
  return out_word; 
         
}
   
// keep this function call here 
LongestWord(readline());

别人的代码

function LongestWord(sen) {
  //替换字符串中非单字字符为空字符
  var trimmed = sen.replace(/[^\w]/g, ' ');
  //匹配一个或多个空白字符,包括空格、制表符、换页符和换行符,进行字符串分割
  var words = trimmed.split(/\s+/);
  //降序排序,并取第一个元素即为最长长度的word
  var longestWord = words.sort(function(a, b) {return b.length - a.length;})[0];
         
}
   
// keep this function call here 
// to see how to enter arguments in JavaScript scroll down
LongestWord(readline());

javascript正则表达式的介绍

MDN(Mozilla 开发者网络)
javascript正则表达式

你可能感兴趣的:(coderbyte_Longest Word)