后面很多注释符是因为我直接从自己做的笔记中复制的,希望不会影响大家的浏览。做个简单的总结,下面是详细的介绍:
1.字符串的长度属性
- string.length
2.在字符串中检索另一个字符串是否存在,下面的方法均可以达到这个目的
- indexOf()
- lastIndexOf()
- search()
- match()
- test()
- exec()
3.从字符串中进行提取,并赋值给另一个字符串
- slice()
- substring()
- substr()
4.替换字符串内容
- replace()
5.大小写转换
- toUpperCase
- toLowerCase
6.将字符串进行连接
- concat()
- 使用运算符+也可以达到这个目的
7.删除字符串两边的空白字符
- trim()
- 使用replace+正则表达式可以达到这个目的
8.获取字符产相应位置下的字符
- charAt()
- charCodeAt()
- 使用属性访问str[],也可以达到这个目的
- 使用split对字符串进行分隔,得到相应的数组,从而访问相应位置的下标
9.对字符串进行分隔
- split()
下面有这些函数的比较详细的介绍和对应的实例,这是一些比较常用的字符串方法,还有一些字符串方法并没有总结进来,有需要的同学可以去W3school看更加全面的方法。
/* 字符串方法和属性 原始值,比如"gaoxing",无法拥有属性和方法(因为他们不是对象) 但是通过JavaScript,方法和属性也可以用于原始值,因为再执行方法和属性时JavaScript 将原始值视为对象 */ /* 字符串长度 length属性返回字符串的长度 */ /* var txt = "ASHDDHIHIGAI"; var len = txt.length; console.log(len); */ /*查找字符串中的字符串 indexOf()方法返回字符串中指定文本首次出现的索引(位置) */ /* var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("China"); console.log(pos);//17 */ /* JavaScript从零计算位置 0是字符串中的第一个位置,1是第二个,2是第三个。。 lastIndexOf()方法返回指定文本在字符串中最后一次出现的索引: */ /* var str = "The full name of China is the People's Republic of China."; var pos = str.lastIndexOf("China"); console.log(pos);//51 */ //如果未找到文本,indexOf()和lastIndexOf()返回的值均为-1. /* var str = "The full name of China is the People's Republic of China."; var pos = str.lastIndexOf("USE"); console.log(pos);//-1 */ //indexOf()和lastIndexOf()都接受第二个参数作为检索的起始位置 /* var str = "The full name of China is the People's Republic of China."; var len = str.indexOf("China",30); var len1 = str.lastIndexOf("China",30); console.log(len);//51 console.log(len1);//17 */ /* 由上面的len和len1的值我们可以知道,indexOf()是向前检索的(从头到尾),lastIndexOf() 是向后检索的(从尾到头) */ /* 与indexOf()相似,search()方法也可以用于检索字符串在字符串中的位置,并返回匹配的位置 */ /* var str = "The full name of China is the People's Republic of China."; var pos = str.search("China"); console.log(pos);//17 */ /* indexOf()和search()的返回值是相等的。 但是这两种方法是不同的,他们的区别在于: search()方法无法设置第二个参数作为开始位置参数。 indexOf()方法无法设置更强大的搜索值(正则表达式)。 */ /* match()方法可在字符串内检索指定的值,找到一个或者多个匹配 该方法类似于indexOf()和lastIndexOf(),但是它返回的是指定的值而不是字符串的位置 语法 stringObject.match(searchValue) stringObject.match(regexp) searchValue:必需。规定要检索的字符串值 regexp:必需。规定要匹配的模式的RegExp对象。如果该参数不是RegExp对象,则需要把他传递给RegExp构造函数,将其转换为RegExp对象 返回值 存放匹配结果的数组。该数组的内容依赖于regexp对象是否具有全局标记g */ /* 使用test() test()是一个正则表达式方法 它通过模式来搜索字符串,然后根据结果返回true或false 下面的例子搜索字符串中的字符"e" */ //实例 /* var patt = /e/; patt.test("The best things in life are free!");//true */ //可以不必把正则表达式放入变量中,上面的两行可缩短为一行 /* /e/.test("The best things in life are free!");//true */ /* 使用exec() exec()方法是一个正则表达式 它通过指定模式(pattern)搜索字符串,并返回已经找到的文本 如果未找到匹配,则返回null */ //下面的例子搜索字符串中的字符"e" //实例 /* /e/.exec("The best things in life are free!");//e */ /* slice()方法 slice()方法提取字符串的某个部分并在新字符串中返回被提取的部分 该方法设置两个参数:其实检索位置,种植检索位置 */ //实例 /* var str = "Apple,Banana,Mango"; var res = str.slice(7,13); console.log(res);//anana, */ /* 如果设置某个参数为负,则从字符串的结尾开始计数 这个例子参见字符串中的位置-12到-6的片段 */ /* var str = "Apple, Banana, Mango"; var res = str.slice(-13,-7); console.log(res);//Banana */ //如果省略第二个参数,该方法将参见字符串的剩余部分 /* var res = "Apple, Banana, Mango".slice(7); console.log(res);//Banana, Mango */ //或者从结尾开始计数 /* var res= "Apple, Banana, Mango".slice(-13); console.log(res);//Banana, Mango */ /* substring()方法 substring()类似于slice() 不同之处在于substring()无法接受负的索引 */ /* var str = "Apple, Banana, Mango"; var res = str.substring(7,13); console.log(res);//Banana */ //如果省略第二个参数,则该substring()将参见字符串的剩余部分。 //substr()方法 //substr()类似于slice() //不同之处在于第二个参数规定被提取部分的长度 /* var str = "Apple, Banana, Mango"; var res = str.substr(7,6); console.log(res);//Banana */ //如果省略第二个参数,substr()函数将裁减字符串的剩余部分 /* var str = "Apple, Banana, Mango"; var res = str.substr(7); console.log(res);//Banana, Mango */ //如果首个参数位符,则从字符串的结尾计算位置 /* var str = "Apple, Banana, Mango"; var res = str.substr(-5); console.log(res);//Mango */ /* 替换字符串内容 replace()方法用另一个之替换在字符串中指定的值 可使用正则表达式 */ /* var str = "Please Visit Mic!"; console.log(str.replace("Mic","W3S"));//Please Visit W3S! */ /* replace()方法不会改变调用他的字符串,它返回的是新字符串 默认的,replace()只替换首个匹配(使用正则表达式/g可以实现全部替换) */ /* 转化为大小写 使用toUpperCase()把字符串转化为大写 使用toLowerCase()将字符串转化为小写 */ /* var txt1 = "Hello World!"; var txt2 = txt1.toUpperCase(); var txt3 = txt1.toLowerCase(); console.log(txt1);//Hello World! console.log(txt2);//HELLO WORLD! console.log(txt3);//hello world! */ /* concat()方法 concat()连接两个或者多个字符串 */ /* var text1 = "Hello"; var text2 = "World!"; var text3 = text1.concat(" ",text2); console.log(text3);//Hello World! */ //concat()方法可用于代替加运算符 /* var text = "Hello" + " " + "World!"; var text1 = "Hello".concat(" ","World!"); console.log(text);//Hello World! console.log(text1);//Hello World! */ /* String.trim() trim()方法删除字符串两端的空白符 */ /* var str = " Hello World! "; console.log(str.trim());//Hello World! */ //IE8及以下版本无法兼容,如果需要兼容IE8一下版本则需要使用replace()方法进行代替 /* var str = " Hello World! "; console.log(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));//Hello World! */ /* 提取字符串字符 这是两个提取字符串字符的安全方法: charAt(position) charCode(position) */ //charAt()方法 //charAt方法返回字符串中指定下标的字符串 /* var str = "HELLO WORLD!"; console.log(str.charAt(0));//H */ //charCodeAt()方法 //charCodeAt()方法返回字符串中指定索引的字符的unicode编码 /* var str = "HELLO WORLD!"; console.log(str.charCodeAt(0));//72 */ /* 属性访问 ECMAScript 5 允许对字符串的属性访问[]: */ /* var str = "HELLO WORLD!"; console.log(str[0]);//H */ /* 使用属性访问有点不太靠谱 不适用IE7及以下的版本 他让字符串看起来像数组 如果找不到字符,[]返回undefined,而charAt()返回空字符串 它是只读。str[0] = "A"不会产生错误(但是也不会工作) */ /* var str = "HELLO WORLD!"; str[0] = "A"; console.log(str[0]);//H */ //如果希望按照数组的方式处理字符串,可以把它先转化为数组 /* 将字符串转化为数组 可以通过split()将字符串转化为数组 */ /* var txt = "a,b,c,d,e";//字符串 txt.split(","); //使用逗号分隔 txt.split(" "); //使用空格分割 txt.split("|"); //使用竖线分隔 */ //如果省略分隔符,被返回的数组将包含index[0]中整个字符串 //如果分隔符是"",被返回的数组僵尸间隔单个字符串的数组 /* var txt = "Hello"; console.log(txt.split(""));//Array(5) 0: "H" 1: "e" 2: "l" 3: "l" 4: "o" length: 5 console.log(txt);//Hello */