zoukankan      html  css  js  c++  java
  • 用于string对象中字符截取的几种函数总结——语法、参数意义及用途举例

    1、 charAt():返回指定位置的字符。

    语法:stringObject.charAt(index)    

    参数意义:index  必需,指字符在字符串中的下标。需要注意的是,字符串中第一个字符的下标是0。

    2、 slice():可提取字符串的某个部分,并以新的字符串返回被提取的部分。

     语法:stringObject.slice(start,end)  

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

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

    3、 split():用于把一个字符串分割成字符串数组。

    语法:stringObject.split(separator,howmany)

    参数意义:separator 必需,字符串或正则表达式,从该参数指定的地方分割 stringObject。

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

    4、 substr():可在字符串中抽取从 start 下标开始的指定数目的字符。

    语法:stringObject.substr(start,length)

    参数意义:start 必需,要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

    length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

    5、 substring() :用于提取字符串中介于两个指定下标之间的字符。

    语法:stringObject.substring(start,stop)

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

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

    那下面我们来通过一个例子,看看这几个函数的妙用。

    已知有字符串foo="get-element-by-id",写一个function将其转化成驼峰表示法"getElementById"。

    1 function combo(foo){
    2     var arr = foo.split("-");
    3     var len = arr.length;   
    4     for(var i=1;i<len;i++){ //从i=1开始循环,因为题目中get首字母不用大写
    5         arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].substr(1,arr[i].length-1);
    6     }
    7     foo=arr.join("");
    8     return foo;
    9 }
    • 第二行代码中用到split()函数,将字符串从"-"处分开,那arr输出就是"get,element,by,id"。
    • 我们主要分析第六行,加号是字符串拼接,加号左边是让首字母大写,charAt(0)返回字符串首位,toUpperCase()是大写转换。
    • 加号右边是抽取字符串中除去首位后的字符,也就是substr()的参数从第二位到最后一位。还是要强调字符串中第一个字符的下标是0。

    下面这段代码大家试着理解下:

    有这样一个URL:http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e,请写一段JS程序提取URL中的各个GET参数(参数名和参数个数不确定),将其按key-value形式返回到一个json结构中,如{a:'1', b:'2', c:'', d:'xxx', e:undefined}。

    1 function getData(url){
    2         var result ={};
    3         var temp = url.split('?')[1].split('&');
    4         for(i in temp){
    5             var s = temp[i].split('=');
    6             result[s[0]] = s[1];
    7         }
    8         return result;
    9 }

    目前我所能想到的就是以上几种,如果大家还有想到别的欢迎补充,我再接着写,谢谢!

  • 相关阅读:
    04 数值向量和数组
    项目成功到底取决于什么?
    NBA不拘一格,花大虫入选名人堂
    [Buzz.Today]2011.08.07
    Localization in QT
    只做自行车的CAD
    [Buzz.Today]Intel开源Embree
    [Revisit SolidMCP]虎年中期回顾篇
    Google是如何设定目标并测量成功的
    VS2008: Unable to start debugging, Remote Debugging Monitor has been closed
  • 原文地址:https://www.cnblogs.com/realcare/p/6035697.html
Copyright © 2011-2022 走看看