【java】substring和substr函数区别

记忆点:substring全称=两个下标,substr不全=开始+长度,开始可用负数倒着数

1、substring 方法用于提取字符串中介于两个指定下标之间的字符

substring (start , end)
开始和结束的位置,从零开始的索引,包头不包尾
参数        描述
start    必须。 一个非负的整数,规定要提取的子串的第一个字符在stringObject 中的位置
end     可选。一个非负的整数,比要提取的子串的最后一个字符在 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的最后
eg:
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));-----------""
————————————————
版权声明:本文为CSDN博主「笑笑书生」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qzt1204/article/details/80744543

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值