substring()方法? substring() 方法详解
大家好,今天小编来为大家解答以下的问题,关于substring()方法, substring() 方法详解这个很多人还不知道,现在让我们一起来看看吧!
关于java中的substring。
一、“==”比较的是内存地址是否相等:
1) String b="8)",这个"8)"是最简单的字符串常量(直接写出来的,没有通过计算或其它逻辑处理得到),它存放于内存中的静态区,")"同样也是最简单的字符串常量;
2) String c= b.substring(b.length()-1,c的结果虽然也是")",但它是对字符串常量b调用substring方法得到的,一调用这个方法,新的对象就产生了,新对象位于堆内存中。
3) c和直接拼写出来的")"是不同的2个对象,2个对象的内存地址必须不一样,所以c==")"是false。
二、“equals”是实际用的最多的(而“==”只是出现在练习题中),它只要2个字符串对象长的一样就为true,c.equals(")")一定是true。实际开发当中,我们需要比较的字符串,确实只是想知道它们长得一不一样,至于是不是同一个内存--从来不会遇到这种问题。
总之,String是有点特殊的类型,多看几个练习就了解规则了(规则都是人定的,没有太多理由)。
JavaScript中substr和substring的区别
substring方法用于提取字符串中介于两个指定下标之间的字符
substring(start,end)
开始和结束的位置,从零开始的索引
参数描述
start必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject中的位置。
stop可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
返回值
一个新的字符串,该字符串值包含 stringObject的一个子字符串,其内容是从 start处到 stop-1处的所有字符,其长度为 stop减 start。
说明
substring方法返回的子串包括 start处的字符,但不包括 end处的字符。
如果 start与 end相等,那么该方法返回的就是一个空串(即长度为 0的字符串)。
如果 start比 end大,那么该方法在提取子串之前会先交换这两个参数。
如果 start或 end为负数,那么它将被替换为 0。
2.substr方法
定义和用法
substr方法用于返回一个从指定位置开始的指定长度的子字符串。
语法
stringObject.substr(start [, length ])
参数描述
start必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length可选。在返回的子字符串中应包括的字符个数。
说明
如果start为负数,则start=str.length+start。
如果 length为 0或负数,将返回一个空字符串。
如果没有指定该参数,则子字符串将延续到stringObject的最后。
举例:
var str="0123456789";
alert(str.substring(0));------------"0123456789"
alert(str.substring(5));------------"56789"
alert(str.substring(10));-----------""
alert(str.substring(12));-----------""
alert(str.substring(-5));-----------"0123456789"
alert(str.substring(-10));----------"0123456789"
alert(str.substring(-12));----------"0123456789"
alert(str.substring(0,5));----------"01234"
alert(str.substring(0,10));---------"0123456789"
alert(str.substring(0,12));---------"0123456789"
alert(str.substring(2,0));----------"01"
alert(str.substring(2,2));----------""
alert(str.substring(2,5));----------"234"
alert(str.substring(2,12));---------"23456789"
alert(str.substring(2,-2));---------"01"
alert(str.substring(-1,5));---------"01234"
alert(str.substring(-1,-5));--------""
alert(str.substr(0));---------------"0123456789"
alert(str.substr(5));---------------"56789"
alert(str.substr(10));--------------""
alert(str.substr(12));--------------""
alert(str.substr(-5));--------------"56789"
alert(str.substr(-10));-------------"0123456789"
alert(str.substr(-12));-------------"0123456789"
alert(str.substr(0,5));-------------"01234"
alert(str.substr(0,10));------------"0123456789"
alert(str.substr(0,12));------------"0123456789"
alert(str.substr(2,0));-------------""
alert(str.substr(2,2));-------------"23"
alert(str.substr(2,5));-------------"23456"
alert(str.substr(2,12));------------"23456789"
alert(str.substr(2,-2));------------""
alert(str.substr(-1,5));------------"9"
alert(str.substr(-1,-5));-----------""
String类中IndexOf()方法和substring()方法的区别
返回 String对象内第一次出现子字符串的字符位置。
strObj.indexOf(subString[, startIndex])
参数:
strObj必选项。String对象或文字。
subString必选项。要在 String对象中查找的子字符串。
starIndex可选项。该整数值指出在 String对象内开始查找的索引。如果省略,则从字符串的开始处查找。
indexOf方法返回一个整数值,指出 String对象内子字符串的开始位置。
如果没有找到子字符串,则返回-1。
如果 startindex是负数,则 startindex被当作零。
如果它比最大的字符位置索引还大,则它被当作最大的可能索引。
从左向右执行查找。否则,该方法与 lastIndexOf相同。
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!