题目
Given a string s consists of upper/lower-case alphabets and empty space characters ’ ‘, return the length of last word in the string.
If the last word does not exist, return 0.
Note: A word is defined as a character sequence consists of non-space characters only.
For example,
Given s = “Hello World”,
return 5.
解析:本文只需要考虑去掉空格这个问题,但是空格有时候会出现前空格,中间的空格以及最后的空格,也可能是几个空格。
1.split函数语法为:stringObject.split(separator,howmany)
separator为必选参数,split() 方法用于把一个字符串分割成字符串数组,字符串或正则表达式从该参数指定的地方分割;
2.trim()
$.trim(str) 返回:string; 说明:去掉字符串首尾空格。
3. str.trim().split(/\s+/);
“/\s+/”
使用正则表达式作为 separator:var words = sentence.split(/\s+/)
源码
/**
* @param {string} s
* @return {number}
*/
var lengthOfLastWord = function(s) {
if(s===null) return 0;
var words=s.trim().split(/\s+/);//split() 方法用于把一个字符串分割成字符串数组,字符串或正则表达式从该参数指定的地方分割
//return words.length;//当s中只有一个单词和一个空格时"a ",会返回两个words["a",""],返回字符串长度为2
var i= words.length-1;
return words[i].length;
// if(words[i]!=null){
// return words[i].length;
// }else{
// return words[i-1].length;
// }
};