javascript中对字符串的操作总结

原文:javascript中对字符串的操作总结

没听过一句话吗?程序员的世界,不处理字符串就是处理数组。这是群里的一位前辈和我说的,显然这和我之前理解的DOM是javascript的核心的不同的,看了几个面试题的内容,感觉前辈说的话非常的有道理,因此总结下,javascript中对字符串的操作。

String类型

首先字符串类型是基本类型,但是在这里我们所说的是字符串的对象包装类型。因为只有引用类型才会有属性和方法。实际上每读取一个基本类型的同时都会创建一个对应的基本包装类型,从而让我们能够调用一些方法来操作数据。
1.charAt() 和 charCodeAt()
两个方法都接受一个索引参数,charAt()返回对应索引的字符,charCodeAt()返回对应字符的字符编码。
2.concat()
用于将一个或多个字符串拼接起来,返回拼接得到的新字符串。
eg:

var str1 = '111';
var result = str1.concat('abcd','dsas');//结果111abcddsas

3.slice()、substr()、substring()
这三个方法都是对字符串的截取。且都接受一个或两个参数。他们的第一个参数都表示起始位置。
(1) slice()的第二个参数指定需要截取的位置的后面的字符索引。如果没有第二个参数则字符串长度作为结束位置。当传入负值时,会将负值与字符串的长度相加。

var str1 = "hello world"
alert(str1.slice(3));//不传第二个参数时默认为字符串长度结果:lo world
alert(str1.slice(3,7));//lo w
alert(str1.slice(-3));//传入负值与字符串长度相加结果:rld
alert(str1.slice(3,-7));//结果:l

(2) substring()的第二个参数指定需要截取的位置的后面的字符索引。如果没有第二个参数则字符串长度作为结束位置。当传入负值时,会将所有负值转换成0.

var str1 = "hello world"
alert(str1.substring(3));//不传第二个参数时默认为字符串长度结果:lo world
alert(str1.substring(3,7));//lo w
alert(str1.substring(-3));//第一个参数为负值转换为0第二个默认为字符串长度,结果:hello world
alert(str1.substring(3,-7))//结果:hel

(3)substr()的第二个参数时指定的截取长度,如果没有第二个参数则字符串长度作为结束位置。当传入负值时,会将第一个参数加上字符串的长度,而第二个参数转换为0.

var str1 = "hello world"
alert(str1.substr(3));//不传第二个参数时默认为字符串长度结果:lo world
alert(str1.substr(3,7))//结果:lo worl
alert(str1.substr(-3))//结果//rld
alert(str1.substr(3,-7))//结果:""

4.indexOf()、lastIndexOf()
这两个方法都接受两个参数,第一个参数时要确定位置的子字符串,第二个参数可选,是开始搜索的位置。方法,返回该子字符串的位置,如果未找到,则返回-1。indexOf()是从开头开始搜索,而lastIndexOf()则是从末尾向前搜索。

var str1 = "hello world";
alert(str1.indexOf("o"));//4
alert(str1.lastIndexOf("0"));//7
alert(str1.indexOf("a"))//-1
alert(str1.indexOf("o",6));//7
alert(str1.lastIndexOf("o",6));//4

5.trim()
trim()用于去除字符串两边的空格。
6.toLowerCase()、toUpperCase()
这两种方法用于转换字符串的大小写。直接看例子:

var str1 = "hello world"
var str2 = "HELLO WORLD"
alert(str1.toUpperCase());//HELLO WORLD
alert(str2.toLowerCase());//hello world

此外还有toLocaleLowerCase(),和toLocaleUpperCase()方法,与这两种方法类似。
7.match()
match()方法类似于正则中的exec(),接受一个参数,参数为正则表达式或者字符串。返回一个数组。数组内容与调用exec()方法一致。

  var text = "cat, bat, sat, fat";
        var pattern = /.at/;

        var matches = text.match(pattern);
        alert(matches.index);        //0
        alert(matches[0]);           //"cat"
        alert(pattern.lastIndex);    //0

8.search()
search()方法与match()方法参数一致,返回第一个匹配项的索引,如果没有匹配到则返回-1,始终从开头向后查找。

var text = "cat, bat, sat, fat";
var pos = text.search(/at/);
        alert(pos);   //1

9.replace()
replace()方法接受两个参数,第一个参数可以是一个正则对象或者一个字符串,第二个参数可以使一个字符串或者一个
函数。如果第一个参数为字符串,则返回由第二个参数替换调用字符串中子字符串的字符串。且只会替换第一个。若想全局替换,则需要使用正则,且要指定全局。

var text = "cat, bat, sat, fat";
var result = text.replace("at", "ond");
        alert(result);    //"cond, bat, sat, fat"

        result = text.replace(/at/g, "ond");
        alert(result);    //"cond, bond, sond, fond"

10.split()
这个方法会根据一个分隔符将一个字符串分割成多个子字符串并将结果放进一个数组。方法也可以接受第二个参数用来指定结果数组的大小。

var colorText = "red,blue,green,yellow";
        var colors1 = colorText.split(",");      //["red", "blue", "green", "yellow"]
        var colors2 = colorText.split(",", 2);   //["red", "blue"]
        var colors3 = colorText.split(/[^\,]+/); //["", ",", ",", ",", ""]

此外还有formCharCode()方法用于将字符编码转换为字符串。

alert(String.fromCharCode(104, 101, 108, 108, 111)); //"hello"

以上为部分字符串方法。总结于《javascript高级程序设计》

时间: 2024-09-14 05:38:47

javascript中对字符串的操作总结的相关文章

在JavaScript中处理字符串之fontcolor()方法的使用

  这篇文章主要介绍了在JavaScript中处理字符串之fontcolor()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下 此方法会导致就好像它是在一个字符串被显示在指定的颜色 标记. 语法 ? 1 string.fontcolor( color ) 下面是参数的详细信息: color: 字符串表示的颜色为十六进制RGB三元或作为一个字符串 返回值: 字符串表示的颜色为十六进制RGB三元或作为一个字符串 例子: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 1

在JavaScript中处理字符串之link()方法的使用

  这篇文章主要介绍了在JavaScript中处理字符串之link()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下 此方法创建了请求另一个URL的HTML超文本链接. 语法 ? 1 string.link( hrefname ) 下面是参数的详细信息: hrefname: 任何字符串指定HREF标记; 它应该是一个有效的URL 返回值: 返回字符串标签 例子: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <html> <head> &

python中列表字符串的操作

问题描述 python中列表字符串的操作 li是一个大列表li=[['2324667 7326496n'] [] ...........]共100个小列表构成,如果想把每个小列表中的n去掉,该怎么写? 解决方案 #!/bin/python3li = [['1234565464n']['3125345n']['789132n']['789231ssdn']] for i in li: for j in i: print(j.strip()end="""") 解决方案二

JavaScript中ES6字符串扩展方法_javascript技巧

es6这个String对象倒是扩展了不少方法,但是很多都是跟字符编码相关,个人选了几个感觉比较常用的方法: includes 搜索字符的神器 还记得我们之前如何判断某个字符串对象是否包含特地字符的吗? var str='google'; if(str.indexOf('o')>-1){ console.log('yes'); }else{ console.log('no'); } indexOf本来只是一个获取字符对应位置的方法,因为找到不到会返回-1这个值,就成了判断是否包含的方法,inclu

JavaScript中的字符串操作

javascript|字符串 一.概述    字符串在JavaScript中几乎无处不在,在你处理用户的输入数据的时候,在读取或设置DOM对象的属性时,在操作cookie时,当然还有更多....JavaScript的核心部分提供了一组属性和方法用于通用的字符串操作,如分割字符串,改变字符串的大小写,操作子字符串等.    当前的大部分浏览器也能从强大的正则表达式获益,因为它极大地简化了大量的字符串操作任务,不过它也需要你克服一条有些陡峭的学习曲线.在这里,主要是介绍字符串本身的一些操作,正则表达

JavaScript中的字符串操作详解_javascript技巧

一.概述    字符串在JavaScript中几乎无处不在,在你处理用户的输入数据的时候,在读取或设置DOM对象的属性时,在操作cookie时,当然还有更 多....JavaScript的核心部分提供了一组属性和方法用于通用的字符串操作,如分割字符串,改变字符串的大小写,操作子字符串等.    当前的大部分浏览器也能从强大的正则表达式获益,因为它极大地简化了大量的字符串操作任务,不过它也需要你克服一条有些陡峭的学习曲线.在这里,主要是介绍字符串本身的一些操作,正则表达式会在以后的随笔中涉及. 二

解析JavaScript中的字符串类型与字符编码支持_基础知识

定义字符串就是零个或多个排在一起的字符,放在单引号或双引号之中. 'abc' "abc" 单引号字符串的内部,可以使用双引号.双引号字符串的内部,可以使用单引号. 'key = "value"' "It's a long journey" 上面两个都是合法的字符串. 如果要在单引号字符串的内部,使用单引号(或者在双引号字符串的内部,使用双引号),就必须在内部的单引号(或者双引号)前面加上反斜杠,用来转义. 'Did she say \'Hello

linux内核驱动中对字符串的操作【转】

转自:http://www.360doc.com/content/12/1224/10/3478092_255969530.shtml Linux内核中关于字符串的相关操作,首先包含头文件: [cpp] view plaincopyprint? #include <linux/string.h>   可用函数包括如下:lib/string.c  [cpp] view plaincopyprint? int strnicmp(const char *s1, const char *s2, siz

JavaScript中Array的实用操作技巧分享_javascript技巧

一.关于Array Array的创建很灵活,可以使用Array构造函数,也可以直接创建数组"字面量". var arr = new Array(); //[] var brr = Array(); //[] 两者等效 var arr = Array(3); //[] arr.length; //3 长度为3的空数组 var arr = Array(22,33,'qq',{}); //[22, 33, "qq", Object] var brr = [22,33,'q