zoukankan      html  css  js  c++  java
  • 字符串的截取方法slice/substring/substr的区别

    这三个方法都会返回被操作字符串的一个子字符串,而且也都接受一或两个参数。第一个参数指定子字符串的开始位置,第二个参数(在指定的情况下)表示子字符串到哪里结束。具体来说,slice()和substring()的第二个参数指定的是子字符串最后一个字符后面的位置。而 substr()的第二个参数指定的则是返回的字符个数。如果没有给这些方法传递第二个参数,则将字符串的长度作为结束位置。与concat()方法一样,slice()、substr()和 substring()也不会修改字符串本身的值——它们只是返回一个基本类型的字符串值,对原始字符串没有任何影响。请看下面的例子。

    var stringValue = "hello world"; 
    alert(stringValue.slice(3)); //"lo world" 
    alert(stringValue.substring(3)); //"lo world" 
    alert(stringValue.substr(3)); //"lo world" 
    alert(stringValue.slice(3, 7)); //"lo w" 
    alert(stringValue.substring(3,7)); //"lo w" 
    alert(stringValue.substr(3, 7)); //"lo worl"
    

    在传递给这些方法的参数是负值的情况下,它们的行为就不尽相同了。其中,slice()方法会将传入的负值与字符串的长度相加,substr()方法将负的第一个参数加上字符串的长度,而将负的第二个参数转换为 0。最后,substring()方法会把所有负值参数都转换为 0。下面来看例子。

    var stringValue = "hello world"; 
    alert(stringValue.slice(-3)); //"rld" 
    alert(stringValue.substring(-3)); //"hello world" 
    alert(stringValue.substr(-3)); //"rld" 
    alert(stringValue.slice(3, -4)); //"lo w" 
    alert(stringValue.substring(3, -4)); //"hel" 
    alert(stringValue.substr(3, -4)); //""(空字符串)
     
     
      截取字符串最后一位:
    var stringValue = "hello world";
    stringValue.slice(-1);  //d
    stringValue.substring(stringValue.length-1);  //d
    stringValue.substr(-1);  //d
    

    注:IE 的 JavaScript 实现在处理向 substr()方法传递负值的情况时存在问题,它会返回原始的字符串。IE9 修复了这个问题。

     
     
     
     
     
     
     

  • 相关阅读:
    Silverlight MMORPG WebGame游戏设计(三)Server和Client的暗号
    Silverlight MMORPG WebGame游戏设计(七)IsolatedStorage,想说爱你不容易
    如何在WP7上用XNA写2D游戏(四)
    Silverlight MMORPG WebGame游戏设计(六)Server和Client的婚后协议[附上完整15M游戏DEMO]
    我的2010年
    如何在WP7上用XNA写2D游戏(一)
    笑话一片
    设计模式简单概括总结2
    设计模式简单概括总结
    ExtJs 4 动态加载grid
  • 原文地址:https://www.cnblogs.com/anu0823/p/12728241.html
Copyright © 2011-2022 走看看