js字符串常用的一些方法

(1) str.length => 返回字符串的长度(字符串属性)

var str = 'JavaScript';str.length; // 10

(2) str.charAt(n) => 返回字符串的第n个字符,如果n不在0 ~ str.length-1之间,返回一个空字符串

var str = 'JavaScript';str.charAt(3);  // 'a'str.charAt(10); // ''

(3) str.indexOf(substr[, start]) => 返回 substr 在字符串 str 中首次出现的位置,从 start 位置开始查找,如果不存在,则返回 -1。
start可以是任意整数,默认值为 0。如果 start = str.length,则该方法返回 -1,除非被查找的字符串是一个空字符串,此时返回 str.length

var str = 'JavaScript';str.indexOf('av');   // 1str.indexOf('av',2); // -1str.indexOf('',11);  // 10str.indexOf('',8);   // 8

eg: 使用 indexOf 统计一个字符串中某个字母出现的次数

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); // 4

(4) str.lastIndexOf(substr[, start]) => 返回 substr 在字符串 str 中最后出现的位置,从 start 位置向前开始查找,如果不存在,则返回 -1。

"canal".lastIndexOf("a")   // 3

(5) str.includes(substr[, start]) => ES6方法判断 substr 是否被包含在 str 中,如果是返回true,否则返回false

var str = 'To be, or not to be, that is the question.';str.includes('To be');     // truestr.includes('To be', 1);  // falsestr.includes('TO BE');     // false

(6) str.startsWith(substr[, start]) => ES6方法判断 str 是否是以 substr “开头”的,如果是返回true,否则返回false

var str = "To be, or not to be, that is the question.";str.startsWith("To be");         // truestr.startsWith("not to be");     // falsestr.startsWith("not to be", 10); // true

(7) str.endsWith(substr[, n]) => ES6方法判断 str 是否是以 substr “结尾”的,如果是返回true,否则返回false。可选参数n表示前n个字符,默认值 str.length

var str = "To be, or not to be, that is the question.";str.endsWith("question.");  // truestr.endsWith("to be");      // falsestr.endsWith("To be", 5);   // true

(8) str.repeat(n) => ES6方法返回一个新字符串,表示将str重复n次,n >= 0

"abc".repeat(0)      // """abc".repeat(1)      // "abc""abc".repeat(2)      // "abcabc""abc".repeat(3.6)    // "abcabcabc"

(9) str.toLowerCase() => 将 str 转换为小写,并返回 str 的一个副本,不影响字符串本身的值

var str = 'JavaScript';str.toLowerCase(); // 'javascript'console.log(str);  // 'JavaScript'

(10) str.toUpperCase() => 将 str 转换为大写,并返回 str 的一个副本,不影响字符串本身的值

var str = 'JavaScript';str.toUpperCase(); // 'JAVASCRIPT'console.log(str);  // 'JavaScript'

(11) str.trim() => 去除 str 开头和结尾处的空白字符,返回 str 的一个副本,不影响字符串本身的值

var orig = '   foo  ';orig.trim();       // 'foo'console.log(orig); // '   foo  '

(12) str.substring(start[, end]) => 返回从 start 到 end(不包括)之间的字符,start、end均为非负整数

var str = 'JavaScript';str.substring(0,4); // 'Java'str.substring(4,0); // 'Java',start > end,执行效果相当于将两个参数调换str.substring(4,4); // '',start == end,返回空字符串

(13) str.substr(start[, length]) => 返回 str 中从指定位置开始到指定长度的子字符串,start可为负值

var str = 'JavaScript';str.substr(0,4);  // 'Java'str.substr(-6,6); //'Script'

(14) str.slice(start[, end]) => 返回从 start 到 end(不包括)之间的字符,start、end可为负值

var str = 'The morning is upon us!';str.slice(4, -1); // 'morning is upon us'str.slice(1, 3); // 'he'

(15) str.replace(regexp|substr, newSubStr|function) => 替换 str 的子字符串

var str = "Apples are round, and apples are juicy.";str.replace('apples','oranges');    // "Apples are round, and oranges are juicy."str.replace(/apples/gi, "oranges"); // "oranges are round, and oranges are juicy."

(16) str.search(regexp) => 查找 str 与一个正则表达式是否匹配。如果匹配成功,则返回正则表达式在字符串中首次匹配项的索引;否则,返回 -1。如果参数传入的是一个非正则表达式对象,则会使用 new RegExp(obj) 隐式地将其转换为正则表达式对象

var str = 'I love JavaScript!';str.search(/java/); // -1str.search(/Java/); // 7str.search(/java/i); // 7str.search('Java'); // 7

(17) str.match(regexp) => 返回一个包含匹配结果的数组,如果没有匹配项,则返回 null。如果参数传入的是一个非正则表达式对象,则会使用 new RegExp(obj) 隐式地将其转换为正则表达式对象

var str = 'Boy boy, Gay gay!';str.match(/boy/); // ["boy"]str.match(/gay/gi); // ["Gay", "gay"]str.match(/lesbian/g); // null

(18) str.split([separator][, limit]) => 返回一个数组,分隔符 separator 可以是一个字符串或正则表达式

var str = "Hello?World!";str.split(); // ["Hello?World!"]str.split(''); // ["H", "e", "l", "l", "o", "?", "W", "o", "r", "l", "d", "!"]str.split('?'); // ["Hello", "World!"]str.split('',5); // ["H", "e", "l", "l", "o"]

(19) + => 字符串拼接,直接用加号,宇宙最强大法!

关键字:JavaScript

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部