1、字符串中对单个字符位置的操作

  • indexOf(char); 从左往右查找,返回匹配到的第一个字符的位置,没有匹配则返回-1
  • lastiIndexOf(char); 从右往左查找,返回匹配到的第一个字符的位置,没有匹配则返回-1
  • charAt(index); 返回指定位置的字符,index超出字符串长度,则返回''这个空字符串
  • charCodeAt(index); 返回指定位置的unicode编码
  • search(String); 检索字符串,返回匹配子串的位置
<script>
var str = new String('012a210');
console.log(str);
console.log(str.indexOf('2'));//
console.log(str.lastIndexOf('1'));//
console.log(str.charAt(3));//a
var c = str.charAt(10);
console.log(c == '');//true
console.log(str.charCodeAt(3));//
console.log(str.charCodeAt(10));//NaN
console.log(str.search('a'));//3
</script>

2、字符串中片段的分割

  • slice(start,end); 剪切从start起,到end-1位置的子串,不改变原字符串
  • substr(start,[length]); 从start起,剪切长度为length的子串
  • substring(start,[end]); 剪切从start起,到end-1位置的子串,不同之处在于参数不能为负数

注意:位置参数为负数的形式时,从字符串最后一位为-1开始计算

<script>
var str = new String('012a210');
console.log(str.slice(1,3));//
console.log(str);//'012a210'
console.log(str.substr(1,3));//12a
console.log(str);//'012a210'
console.log(str.substring(1,3));
console.log(str);
</script>

3、字符串中字符存在的验证

  • 除了可以用indexOf,charAt等方法对字符串存在进行验证后,还有一些专门的验证函数
  • includes(str,[start]);  返回boolean,从start位置开始寻找
  • startsWith(str,[start]); 是否存在头部   endsWith(str,[start]); 是否存在于尾部

4、字符串中的填充及去空格

  • padStart(n,str); padEnd(n,str);   字符串不够n长度,会在头部和尾部填充str
  • trim() 去除字符串中的空格  //trimEnd(),trimStart(),trimRight(),trimLeft() 去除头部或尾部空格

5、字符串中一些常规方法与属性

  • .length 返回字符串长度
  • concat(str) 在调用方法的字符串尾部连接str
  • toLowerCase(),toUpperCase() 转化大小写 //toLocaleLowerCase(),toLocaleUpperCase() 根据地区规则进行大大小写转化
  • replace('a','b')  将字符串中a替换成b,返回一个新字符创,不会改变原有的字符串,a可改为正则表达式
  • 将字符串转为数组,常规方法为 var array = string.split();  与之对应的是将数组转为字符串的 var string = array.join('');

6、字符串的一些遍历的方法

  1. for循环
  2. for of方法
  3. 可以将字串转为数组 ,调用forEach,map,for in等常规方法
  4. 也可以将字符串转为数组后,调用find,reduce,every等另外的方法

js基础总结02--字符串操作的更多相关文章

  1. Js基础知识1-数组操作全解

    数组操作全解 js变量类型 var string; var name = "student",age=12; //underfined.null.boolean.string.nu ...

  2. Oracle数据库基础知识_字符串操作相关2

    6.LPAD,RPAD 作用:左/右边的字符串填充一些特定的字符语法: LPAD(string , n, [pad_String])          string:可是字符或者参数          ...

  3. 3-15 JS基础知识02

    一.For循环: For (var i = 0;  i <= 10;  i++){ 循环体: } 注意:For循环中的表达式是可以省略的,省略以后是个死循环. odd:奇数   even : 偶 ...

  4. python基础数据类型之字符串操作

    1.字符串切片ps:字符串是不可变的对象, 所以任何操作对原字符 是不会有任何影响的 s1 = "python最简洁" print(s1[0]) print(s1[1]) prin ...

  5. python基础一 day2 字符串操作

    s.capitalize()  s.upper()  s.lower() s.swapcase()   s.title()  s.center(20,"#")   s.expand ...

  6. JS基础--函数与BOM、DOM操作、JS中的事件以及内置对象

       前   言 絮叨絮叨 这里是JS基础知识集中讲解的第三篇,也是最后一篇,三篇JS的基础,大多是知识的罗列,并没有涉及更难得东西,干货满满!看完这一篇后,相信许多正在像我一样正处于初级阶段的同学, ...

  7. 前端面试题目汇总摘录(JS 基础篇 —— 2018.11.02更新)

    温故而知新,保持空杯心态 JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string type ...

  8. js 字符串操作函数有哪些

    js 字符串操作函数有哪些 一.总结 一句话总结:js字符串函数都是字符串对象的方法,是通过调用字符串方法的方式调用,和java,php里面不一样. 1.字符串替换函数怎么用? 这里的正则表示是加双引 ...

  9. vue.js初级入门之最基础的双向绑定操作

    首先在页面引入vue.js以及其他需要用到的或者可能要用到的插件(这里我多引用了bootstrap和jquery) 引用的时候需要注意文件的路径,准备工作这样基本就完成了,下面正式开始入门. vue. ...

  10. node.js整理 02文件操作-常用API

    NodeJS不仅能做网络编程,而且能够操作文件. 拷贝 小文件拷贝 var fs = require('fs'); function copy(src, dst) { fs.writeFileSync ...

随机推荐

  1. springmvc中将servlet api对象作为处理方法的入参使用

    在springmvc中,控制器不依赖任何servlet api对象,也可以将servlet api对象作为处理方法的入参使用,非常方便,比如需要使用HttpSession对象,那么就可以直接将Http ...

  2. springboot使用百度富文本UEditor遇到的问题一览(springboot controller中request.getInputStream无法读取)

    先吐槽一下UEditor作为一个前端的js类库,非要把4种后端的代码给出来,而实际生产中用的框架不同,其代码并不具有适应性.(通常类似其它项目仅仅是给出数据交互的规范.格式,后端实现就可以自由定制) ...

  3. MakaJs:基于 React, Redux 的轻量级前端框架

    github: maka.js 留下您宝贵的STAR!谢谢 maka maka源于中文码咖,意为写代码的大咖 一眼即可看懂的前端框架,简约而不简单 1.安装 bash sudo npm i -g @m ...

  4. Spring源码分析之IOC的三种常见用法及源码实现(一)

    1.ioc核心功能bean的配置与获取api 有以下四种 (来自精通spring4.x的p175) 常用的是前三种 第一种方式 <?xml version="1.0" enc ...

  5. PowerBI系列之入门案例动态销售报告

    本文将讲解如何从零开始使用PowerBI Desktop制作一份动态销售报告.帮助大家快速入门PowerBI Desktop的操作.我们先来看一下一份动态销售报告的构成. 1.左上角放置了小黎子数据分 ...

  6. App上下左右滑动封装

    #coding=utf-8 from appium import webdriver from time import sleep caps = { "platformName": ...

  7. 中国.NET开发者峰会特别活动-基于k8s的微服务和CI/CD动手实践报名

    2019.11.9 的中国.NET开发者峰会将在上海举办,到目前为止,大会的主题基本确定,这两天就会和大家会面,很多社区的同学基于对社区的信任在我们议题没有确定的情况下已经购票超过了300张,而且分享 ...

  8. HNOI2012 永无乡 无旋Treap

    题目描述 永无乡包含 nnn 座岛,编号从 111 到 nnn ,每座岛都有自己的独一无二的重要度,按照重要度可以将这 nnn 座岛排名,名次用 111 到 nnn 来表示.某些岛之间由巨大的桥连接, ...

  9. 一个基于C++11的单例模板类

    #ifndef _SINGLETON_H_#define _SINGLETON_H_ template<typename T>class Singleton : public Uncopy ...

  10. echarts折线图动态改变数据时的一个bug

    echarts折线图中当增加dataZoom,修改start大于0的时候,会出现折线混乱,变成竖直的线,绘制有问题. 解决方法,在dataZoom中增加filterMode: 'empty' http ...