首页 > 技术文章 > 字符串处理

nycj 2017-03-02 17:20 原文

s关于字符串的一些操作:

1.获取字符串的长度:     str.length    (只能读,不能写)
 



  2.读取字符串里的单个字符: 可以将字符串看成一个数组,单个的字符看成数组的元素,操作如下:
  var str='abcdef';
  alert(str[0]);  //弹出a
  但是,这个也只能读,不能给其赋值,比如:
  str[1] = 'z';
  这个是不可以的。
 
  注:可读,不可写 

  3.获取某个位置的字符:  str.charAt( 5 )
  例子:
  var str = 'abc';

  alert(str[0]);
  结果:弹出a

   4.获取某个位置的字符的ASCII码值:str.charCodeAt( 5 )
   例子:
   var str = 'we are young';
   alert(str.charCodeAt(5));
   结果:101

   5.将一个数值转换为字符,4的反例:String.fromCharCode( 101 )
   例子:
   var str = 'we are young';
   alert(str.charCodeAt(5));
   结果:101
   alert(String.charCharCode(str.charCodeAt(5)));
   结果:e
   

   6.获取一个字符的位置: str.indexOf('s');
   
    注意:

    a.如果参数在字符串中出现两个或多个,那么只显示第一个字符的位置;

    b.如果参数的字符值不存在,那么返回-1;

    c.如果参数的字符值为字符串中两个连续的字符,那么只会弹出第一个字符的位置;

    d.如果参数的字符值为字符串中两个不联系的字符,那么结果会返回-1;


     例子:获取某个字符串中的所有的字符的位置
    
    
   7.从右向左获取一个字符的位置: str.lastIndexOf('s',int);
    

    注意:这个函数是从正序的位置开始,但从右往左找!

    例子:
            var str = 'abcdefg';

            var pos = str.lastIndexOf('c',0);//返回-1,从a开始,从右往左找,找不到

            var pos = str.lastIndexOf('c',3);//返回2,从d开始,从右往左找,可找到

            var pos = str.lastIndexOf('c',2);//返回2,从c开始,从右往左找,可找到


   8.截取一个字符串里的某段字符:str.substring('begin_num','end_num'); * 截取顺序
    

    注意:
    a.这个函数是截取从开始位置到结束位置。

    b.如果开始位置的数值大于结束位置的数值,函数也是可以执行的。

    例子b:
            var str = 'abcdef';

            alert(str.substring(6,3));

            结果:def

            分析:位置6不存在,位置3为d,那么结果就是从d到结束,故为def

    特例:

            A.(0,5)  从0到5

            B.(5,0)  从0到5

            C.(-2,5) 从0到5


   9.截取某段字符(不能从右往左找):str.slice('begin_num','end_num'); * 截取顺序
    

    注意:截取是取得是大于等于起始位置,小于结束位置的字符!

    例子:

                var str = '阿飞老师';
alert(str.substring(-2,3));
alert(str.slice(-2,3));
                alert(str.slice(n,0));  //n>=1  结果:什么也找不到

                结果:

                第一个弹出:阿飞老  //起始位置-2不存在,所以,从位置0的‘阿’开始,截取位置3的‘师’的中间的字符

                第二个弹出:老         //slice如果是起始位置是负数,那么是从右往左开始,比如-1位置就是‘师’,-2位置就是‘老’,而结束位置3则是又从左向右的字符‘师’,所以,结果就是‘老’,大于等于起始位置,小于结束位置.

    特例:

            A.(0,5) 从0到5

            B.(5,0) 找不到

            C.(-2,5)从倒数第二位,向正5的位置

    

   10.将某个字符通过某个特殊的字符分裂成几段:str.split(';'); 
    

    注意:分裂后 结果是数组!
    

   11.将某个字符串的所有字符转换为大写:str.toUpperCase();
    

    注意:只针对英文字符有效

   12.将某个字符串的所有字符转换为小写:str.toLowerCase();
    
    注意:只针对英文字符有效



   例子:从一个字符串中获取所有的要查找的字符的位置
   
获取字符串每个字符第一次出现的位置后几位

    if(substr_count($goods_name,'-'))
    {
       
        $attr_value=substr($goods_name,-1);
    }
    else
    {
        $attr_value=1;
    }

推荐阅读