js字符串方法

news/2024/7/19 14:09:43 标签: 字符串, 正则表达式, js

concat

字符串拼接方法,与数组中的concat()用法基本相同。一般来说不用,而是用更为简单的+代替。

    var str = 'hello';

    console.log(str + ' world');//hello world
    console.log(str.concat(' world'));//hello world

charAt & charCodeAt

二者都是根据传入的索引号获取相应单字符,只不过前者返回值,后者返回字符编号。

不传入参数默认获取0号位置的字符。

    var str = 'hello world';
    console.log(str.charAt())//h
    console.log(str.charCodeAt())//104
    console.log(str.charAt(0))//h
    console.log(str.charCodeAt(0))//104
    console.log(str.charAt(5))//
    console.log(str.charCodeAt(5))//32
    console.log(str.charAt(4))//o
    console.log(str.charCodeAt(4))//111

在es5中,可以用方括号直接获取到对应位置的字符。

    var str = 'hello world';
    console.log(str[4]);//o

slice & substr & substring

  • 三者都会返回一个新的字符串,且都接收1-2个参数。
  • 第一个参数均为开始截取的位置;
  • 第二个参数,slice以及substring为结束截取的位置,不是必需的,不传入则截取至字符串结尾。
  • substr的第二个参数为截取的字符总数。
  • 当传入的参数为负数时,三者会有不同的行为,这里不讨论。
    var str = 'hello world';
    console.log(str.slice(3));//lo world
    console.log(str.substring(3));//lo world
    console.log(str.substr(3));//lo world

    console.log(str.slice(3,7));//lo w
    console.log(str.substring(3,7));//lo w
    console.log(str.substr(3,7));//lo worl

indexOf & lastIndexOf

两个方法均为查找是否包含指定字符串,如果字符串中有指定的子串,则返回其起始索引号;没有则返回-1。前者从数组开头向后查,后者从数组结尾向前查找。

两个方法都接收2个参数,查找的值 和 开始查找的索引号(可选)。

    var str = 'hello wstrorld';

    console.log(str.indexOf('str'));//7

trim

es5中新增的方法,用于去除字符串开头和结尾的空格,返回一个新字符串

    var str = '         hello world        ';

    console.log(str.trim());//hello world

可用于表单的输入验证,去除用户输入的无效的空格。

此外,非标准的trimLeft()trimRight()方法,分别去除字符串开头,字符串结尾的空格,具有兼容性问题。

toLowerCase & toUpperCase

借鉴于java.lang.String中的同名方法。前者将所有字符转换为小写,后者转换为大写,返回一个新的字符串

    var str = 'HeLLo WorLd';

    console.log(str.toLowerCase());//hello world
    console.log(str.toUpperCase());//HELLO WORLD

match & search

  • 二者用于匹配字符串,只接收一个参数,且这个参数要么是一个正则表达式,要么是一个RegExp对象。
  • 前者返回一个数组,数组的第一项为匹配的字符串,之后的项为正则表达式捕捉的项;
  • 后者返回起始索引号,若未查找到返回-1。
    var str = 'HeLLo WorLd';

    console.log(str.match(/orl/i));//"orL", index: 7, input: "HeLLo WorLd"
    console.log(str.search(/orl/i));//7

replace

    var str = ' HeLLo WorLd  HeLLo worLd ';

    console.log(str.replace('Wor','zed'));// HeLLo zedLd  HeLLo WorLd
    console.log(str.replace(/Wor/ig,'zed'));//HeLLo zedLd  HeLLo worLd
    console.log(str.replace(/ /g,''));//HeLLoWorLdHeLLoworLd

split

  • 该方法可将一个字符串按照分隔符分割成多个子字符串,并且将它们组成一个数组返回。
  • 分隔符可以是一个正则表达式或RegExp对象,也可以是一个字符串(不会转化为正则表达式)。
  • 可以接收第二个参数,限定数组的大小。
    var str = 'a,b,c,d,e,f,D,,g';
    console.log(str.split(','));//["a", "b", "c", "d", "e", "f", "D", "", "g"]
    console.log(str.split(',',3));//["a", "b", "c"]
    console.log(str.split(/d/i));//["a,b,c,", ",e,f,", ",,g"]

结语

有所收获的话,点个赞吧~


http://www.niftyadmin.cn/n/1257993.html

相关文章

关于APIcloud对应C#的 wcf框架作为后台,实现多库功能

首先,我是使用ajax原来的请求方式,并没有使用apicloud中封装的请求方式。 前端代码: function makeRequest() {//alert("inside makeRequest()");var settings {type: "GET",url: "http://192.168.0.105/Service1.…

堆参数-XMS 与-XMX的说明

XMS : JVM初始分配的堆内存 XMX : JVM最大允许分配的堆内存,按需分配 堆内存分配: JVM初始分配的堆内存由-Xms指定,默认是物理内存的1/64; JVM最大分配的堆内存由-Xmx指定,默认是物理内存的1/4。 默认空余堆内存小于40%时&…

js 属性

js中的属性分为 数据属性 和 访问器属性。 数据属性 一个数据属性,有四个描述其行为的特性。 Configurable是否能通过删除该属性从而重新定义该属性,能否修改其特性,能否把属性修改为访问器属性。默认值为true。Enumerable是否可枚举。默认…

JZOJ 4.15 1110——CQOI2009循环赛【dfs】【hash判重】

Description n支队伍打比赛,每两支队伍恰好比赛一场。平局时各得1分,而有胜负时胜者3分,负者0分。 假设三支队伍得分分别为3, 3, 3,则可能有两种情况: 队伍 A B C 得分 A - 3 0 3 B 0 - 3 3 C 3 0 - 3 队伍 A B C…

回调地狱和Promise

Promise是ES6中新增的语法,主要是解决原来回调地狱,也就是回调函数多层嵌套问题。 现在我有两个json文件,分别用ajax来请求,但是要求先请求data.json的数据,然后再请求data1.json的数据。 $.ajax({url: ./data1.json,…

201521123096《Java程序设计》第八周学习总结

1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容。 2. 书面作业 本次作业题集集合 1.List中指定元素的删除(题目4-1) 1.1 实验总结 实验中使用了scanner方法时,就需要使用sc.close()将其关闭。 1.2截图提交结…

201521123022 《Java程序设计》 第8周学习总结

1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容。 2. 书面作业 Q1.List中指定元素的删除(题目4-1) Q1.1 实验总结 本题要求的是编写covnertStringToList函数代码以及remove函数代码,实验课上老师对本题讲解比…

let关键字

基本语法 和var关键字用法基本一致。 let a 10;let fn function () {console.log(hello)}fn();console.log(a);与var的区别 var关键字会将变量挂载到window对象上,无块级作用域,有变量提升。let关键字不会将变量挂载到window对象上,有独立…