Js 常用字符串操作 API
常用的一些字符串操作 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 开始的。
1 2 3 4 5 | 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)为止的所有字符。
1 2 | 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 处的所有字符,其长度为 stop 减 start。
说明:如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。
与 slice() 方法不同的是,substring() 不接受负的参数。
substring 和 slice 之间的区别在与 start 为负数时候的表现:
substring 很粗暴,直接将负数变成 0,即 start = 0;
slice 会先将 start 与 字符串长度相加,然后将这个值与 0 比大小,> 0 则 start = 该值,<= 0 则 start = 0;
另外, str.subStr(start, length) 方法, ECMAscript 并没有进行标准化,所以不建议使用这个 api。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现