substr 和 substring 的区别

原文出处:http://jw1314.iteye.com/blog/1211431

1、Oracle/PLSQL的substr
   在plsql中substr是一个单独的函数,字符串索引以1开始。语法是:
    substr( string, start_position, [ length ] )
  如果start_position是0,substr还是认为是1开始。
  如果start_position是正数,substr以start_position开始计算,包含start_position。
  如果start_position是负数,则从string结尾开始向前数数。
  length,返回字符串的长度,如果是负数,返回NULL。
例子: 
  substr('This is a test', , 2) would return 'is'
  substr('This is a test', 6) would return 'is a test'
  substr('TechOnTheNet', 1, 4) would return 'Tech'
  substr('TechOnTheNet', -3, 3) would return 'Net'
  substr('TechOnTheNet', -6, 3) would return 'The'
  substr('TechOnTheNet', -8, 2) would return 'On'

2、在javascript中有substr和substring两个方法,字符串的索引以0开始
语法是:
substring 方法用于提取字符串中介于两个指定下标之间的字符。
stringObject.substring(start,stop)
说明:
  substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符
  如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
  如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
  如果 start 或 end 为负数,那么它将被替换为 0。

substr 方法用于返回一个从指定位置开始的指定长度的子字符串。
stringObject.substr(start [, length ])
说明:
  如果 length 为 0 或负数,将返回一个空字符串。
  如果没有指定该参数,则子字符串将延续到stringObject的最后。

例子:
   "0123456789".substring(5) return "56789"
   "0123456789".substring(0,5) return "01234"
   "0123456789".substring(2,0) return "01"
   "0123456789".substring(-1,5) return "01234"
 
    "0123456789".substr(5) return "56789"
    "0123456789".substr(2,0) return ""
    "0123456789".substr(2,2) return "23"  
    "0123456789".substr(-1,5) return "01234"    

3、java中substring是string对象的函数,返回位于String 对象中指定位置的子字符串。该索引从0开始起算。         
语法  
  strVariable.substring(start[,end])  
substring   方法使用start和end两者的较小值作为子字符串的起始点。strvar.substring(0,3)和strvar.substring(3,   0)将返回相同的子字符串。
   包含start位置的值,不包含end位置的值。
例子:
     "05718888888".substring(0,4) returns "0571"
   "hamburger".substring(4, returns "urge"
  "smiles".substring(1, 5) returns "mile"

总结:
   除了Oracle/PLSQL的substr以1以字符串索引,其它两个语言都是以0作用索引。
   java的substring与javascript的substring相似
   javascript的substr与Oracle/PLSQL的substr相似

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值