常用的一些字符串操作 API 整理

1.str.charAt(index)、str.charCodeAt(index) - 返回指定位置的字符 / 字符编码(0~65535)

  index - 必须,表示字符串中某个位置的数字,即字符在字符串中的下标,从 0 开始。

  charAt(index),如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串。

  charCodeAt(index),如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN。

2.str.indexOf(searchvalue [,fromindex]) - 返回某个指定的字符串值(searchvalue)在字符串中首次出现的位置,如果没有,返回 -1。

  searchValue - 必需。规定需检索的字符串值。

  fromindex - 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。

  

  注意:searchValue,大小写敏感。

3.str.lastIndexOf(searchvalue [,fromindex]) - 返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。

  searchValue - 必需。规定需检索的字符串值。

  fromindex - 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。

  说明:该方法将从尾到头地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的结尾(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一个字符在 stringObject 中的位置。stringObject 中的字符位置是从 0 开始的。

var str="Hello world!"
document.write(str.lastIndexOf("Hello") + "<br />") // 0
document.write(str.lastIndexOf("World") + "<br />") // -1
document.write(str.lastIndexOf("world")) // 6
document.write(str.lastIndexOf("llo",1)) // -1

4.str.concat(stringX,stringX,...,stringX) - 拼接多个字符串,返回一个新的字符串。

  返回值是一个新的字符串,实际运用时使用 ‘+’ 更快捷。

5.str.replace(regexp/substr,replaceStr) - 在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

  regexp / substr - 正则对象或者 str 中的目标子串;

  replaceStr - 规定了替换文本或生成替换文本的函数。

  返回值是一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

6.str.split(separator,howmany) - 把一个字符串分割成字符串数组。与 Array.join 执行的操作是相反的。

  separator - 必需。字符串或正则表达式,从该参数指定的地方分割 str;

  howmany - 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

  返回值是一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。

  注意:如果把空字符串 ("") 用作 separator,那么 str 中的每个字符之间都会被分割。

7.str.slice(start [,end]) - 提取字符串的某个部分,并以新的字符串返回被提取的部分。

  start - 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推;

  end - 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

  返回值是一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。

var str="Hello happy world!"
document.write(str.slice(6,11)) // happy

8.str.substring(start [,stop]) - 提取字符串中介于两个指定下标之间的字符。

  start - 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

  stop - 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

  返回值是一个新的字符串,该字符串值包含 str 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stopstart

  

  说明:如果参数 startstop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 startstop 大,那么该方法在提取子串之前会先交换这两个参数。

    与 slice() 方法不同的是,substring() 不接受负的参数。

substring 和 slice 之间的区别在与 start 为负数时候的表现:

  substring 很粗暴,直接将负数变成 0,即 start = 0;

  slice 会先将 start 与 字符串长度相加,然后将这个值与 0 比大小,> 0 则 start = 该值,<= 0 则 start = 0;

另外, str.subStr(start, length) 方法, ECMAscript 并没有进行标准化,所以不建议使用这个 api。

Js 常用字符串操作 API的更多相关文章

  1. JS 常用字符串操作

    Js字符串操作函数大全 /*******************************************                        字符串函数扩充              ...

  2. [转载]c++常用字符串操作函数

    原文地址:c++常用字符串操作函数作者:Valsun 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source ...

  3. JS常用字符串处理方法应用总结

    这篇文章主要总结了JS常用字符串的处理方法,需要的朋友可以参考下   1.indexOf()方法,从前往后查找字符串位置,大小写敏感,从0开始计数.同理,lastIndexOf() 方法从后往前,两个 ...

  4. JS 常用字符串,数组操作

    JavaScript String/Array对象 JS String对象   String 对象属性 属性 描述 constructor 对创建该对象的函数的引用 length 字符串的长度 pro ...

  5. 整理:C#常用字符串操作,常用数值类型转换

    一.字符串操作 1. 字符串连接 //将指定的数组所有元素拼接为一个字符串 string[] arr = {"A","B","C"}; st ...

  6. C语言的常用字符串操作函数(一)

    一直做的是单片机相关的程序设计,所以程序设计上更偏向底层,对于字符串的操作也仅限于液晶屏幕上的显示等工作,想提高下字符串操作的水平,而不是笨拙的数组替换等方式,翻看帖子发现C语言的字符串操作函数竟然这 ...

  7. mysql常用字符串操作函数大全,以及实例

    今天在论坛中看到一个关于mysql的问题,问题如下 good_id     cat_id12654         665,56912655         601,4722 goods_id是商品i ...

  8. 总结js常用的dom操作(js的dom操作API)

    转载:https://www.haorooms.com/post/js_dom_api 前言 很多同学用惯了jquery操作dom,让他们用js操作的时候,常常力不从心,本文总结了常用的js的dom操 ...

  9. 原生JS实现几个常用DOM操作API

    原生实现jQuery的sibling方法 <body> <span>我是span标签</span> <div>我是一个div</div> & ...

随机推荐

  1. 盘点 Oracle 11g 中新特性带来的10大性能影响

    Oracle的任何一个新版本,总是会带来大量引人瞩目的新特性,但是往往在这些新特性引入之初,首先引起的是一些麻烦,因为对于新技术的不了解.因为对于旧环境的不适应,从Oracle产品到技术服务运维,总是 ...

  2. SpringBoot之加密

    最近利用闲暇时间写了一个博客系统,主要参考wordpress,主要目的是为了提高自己的技术能力.写代码写了两年多,联系到之前在学校的时候写过的一个博客系统,发现工作中开发的系统,技术上基本一致,业务逻 ...

  3. odoo学习总结

                                                   odoo10总结 1.odoo中的向导应用. .py文件 # -*- coding: utf-8 -*-f ...

  4. 蓝牙BLE设备主机重启回连流程分析

    如果一个BLE设备已经与蓝牙中心设备连接上,那么当中心设备的断电重启,其依然会和配对过的BLE设备连接上,而不需要重新走配对的流程,这个过程叫做回连. 这篇文章就分析一下当中心设备断电重启之后,其与B ...

  5. [原创]Sharding-Sphere之Proxy初探

    大家好,拓海(https://github.com/tuohai666)今天为大家分享Sharding-Sphere推出的重磅产品:Sharding-Proxy!在之前闪亮登场的Sharding-Sp ...

  6. 来自后端的突袭? --开包即食的教程带你浅尝最新开源的C# Web引擎 Blazor

    在今年年初, 恰逢新春佳节临近的时候. 微软给全球的C#开发者们, 着实的送上了一分惊喜. 微软正式开源Blazor ,将.NET带回到浏览器. 这个小惊喜, 迅速的在dotnet开发者中间传开了. ...

  7. python第七章:常用模块--小白博客

    yagmail模块 python标准库中发送电子邮件的模块比较复杂,因此,有许多开原的库提供了更加易用的接口来发送电子邮件,其中yagmail是一个使用比较广泛的开原项目,yagmail底层依然使用了 ...

  8. 小P的金字塔

    题目描述 小P感到自己前几天太作了,于是非常有远见的决定为自己建立一座金字塔. 现在他有n种标准长方体的石头,每种石头只有两个,第i种石头是长宽高分别为Xi,Yi,Zi的长方体.由于整个工程只有小P一 ...

  9. Win10系统如何安装Linux Mint

    导读 随着windows10系统免费升级期限的靠近,越来越多朋友都将自己的电脑系统升级到了win10正式版.今天,小编就要在这里为大家分享Windows10系统安装Linux Mint的方法,希望能够 ...

  10. Open Live Writer安装教程

    配置步骤: 1.在菜单中选择"工具">"帐户",出现下面的画面: 2.点击"添加按钮",在出现的窗口中选择"其他日志服务&q ...