[js] string
String.prototype.substr()
str.substr(start[, length])
substr() 方法返回字符串中从指定位置开始到指定长度的子字符串。
substr()不改变原字符串。
start 只识别起始位置,不传length,默认从start位置到结束,负数则倒序位置开始到结束。
length>0,意为取多少长度,不够还剩多少取多少。
#
str = 'Hello World';//11 console.log(str.substr(0));//Hello World console.log(str);//Hello World console.log(str.substr(1));//ello World console.log(str);//Hello World console.log(str.substr(-1));//d console.log(str);//Hello World console.log(str.substr(-2));//ld console.log(str.substr(0,7));//Hello W console.log(str.substr(1,7));//ello Wo console.log(str.substr(-1,5));//d console.log(str.substr(-7,5));//o Wor console.log(str.substr(1,-2));//empty console.log(str.substr(0,0));//empty console.log(str.substr(11));//empty console.log(str.substr(-14));//error
String.prototype.substring()
str.substring(indexStart[, indexEnd])
substring() 返回字符串两个索引之间(或到字符串末尾)的子串。
substring()不改变原字符串。
start>=0 只识别起始位置,不传end,默认从start位置到结束,负数则倒序开始。
end>=0 只识别结束位置,截取的字符串不包括结束位置。
#
str = 'Hello World';//11 console.log(str.substring(0));//Hello World console.log(str);//Hello World console.log(str.substring(1));//ello World console.log(str);//Hello World console.log(str.substring(-1));//Hello World 任一参数小于 0 或为 NaN,则被当作 0 console.log(str);//Hello World console.log(str.substring(-2));//Hello World 任一参数小于 0 或为 NaN,则被当作 0 console.log(str.substring(0,7));//Hello W console.log(str.substring(1,7));//ello Wo console.log(str.substring(-1,5));//Hello 任一参数小于 0 或为 NaN,则被当作 0 console.log(str.substring(-7,5));//Hello 任一参数小于 0 或为 NaN,则被当作 0 console.log(str.substring(1,-2));//H 任一参数小于 0 或为 NaN,则被当作 0 console.log(str.substring(1,1));//empty console.log(str.substring(1,100));//ello World 任一参数大于 stringName.length,则被当作 stringName.length。 console.log(str.substring(5,2));//llo start>stop 两者位置对调 console.log(str.substring(2,5));//llo
String.prototype.split()
str.split([separator][, limit])
split() 方法通过把字符串分割成子字符串来把一个 String 对象分割成一个字符串数组。
#
function replaceString(oldS, newS, fullS) { //console.log(fullS.split(oldS)); //console.log(fullS.split(oldS).join(newS)); return fullS.split(oldS).join(newS); } console.log(replaceString("World", "Web", "Brave New World")); //Brave New Web var names = "Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand "; console.log(names); var re = /\s*;\s*/; var nameList = names.split(re); console.log(nameList); //["Harry Trump", "Fred Barney", "Helen Rigby", "Bill Abel", "Chris Hand "] var myString = "Hello World. How are you doing?"; var splits = myString.split(" ", 3); //只3个 console.log(splits); //["Hello", "World.", "How"] var myString = "Hello 1 word. Sentence number 2."; var splits = myString.split(/(\d)/);//数字将会保留 console.log(splits); //["Hello ", "1", " word. Sentence number ", "2", "."]
String.prototype.indexOf()
str.indexOf(searchValue[, fromIndex])
indexOf() 方法返回指定值在字符串对象中首次出现的位置。从 fromIndex 位置开始查找,如果不存在,则返回 -1。
#
"Blue Whale".indexOf("Blue"); // returns 0 "Blue Whale".indexOf("Blute"); // returns -1 "Blue Whale".indexOf("Whale", 0); // returns 5 "Blue Whale".indexOf("Whale", 5); // returns 5 "Blue Whale".indexOf("", 9); // returns 9 "Blue Whale".indexOf("", 10); // returns 10 "Blue Whale".indexOf("", 11); // returns 10 "Blue Whale".indexOf("Blue") !== -1; // true "Blue Whale".indexOf("Bloe") !== -1; // false
#统计一个字符串中某个字母出现的次数
var str = 'To be, or not to be, that is the question.'; var count = 0; var pos = str.indexOf('e'); while (pos !== -1) { count++; pos = str.indexOf('e', pos + 1); } console.log(count); // displays 4
#