牛骨文教育服务平台(让学习变的简单)
博文笔记

java中substring()和oracle中substr()区别

创建时间:2017-02-15 投稿人: 浏览次数:1101

1)Java中substring(int x)一般是用来截取字符串的。返回一个新的字符串,新字符串是元字符串的子字符串。该新串是从原字符串的x索引处开始,直到原字符串的结尾为止。

  如:“jerry_player”.substring(1),结果是erry_player

“Jerry”.substring(5),结果是“”(空串)

  如果x为负数或者是大于原字符串长度的值,则会抛出异常IndexOutOfBoundsException

substring(int x,int y)也是截取字符串的一种方法,返回一个新的字符串。改新字符串是从原字符串的x为止开始截取,到y-1位置结束,所以新串的长度是y-x;即改方法是前闭后开。

如“jerry_player”.substring(1,3),结果是er

“jerry_player”.substring(3,3),结果是“”空串

  如果x和y中有一个为负数,或者x大于y,或者y长度大于原字符串长度,则会抛异常IndexOutOfboundsException

2)Oracle中也有substr(sourceString,x[,y]),截取字符串,获得新的字符串。表示从sourceString的第x位置开始,向右截取y个字符串。

若x为0或1都表示从第一个字符,向右截取。即substr(sourceString,0[,y])于substr(sourceString,1[,y])等价。

  若x,y为正数,则表示从sourceString的最左侧数第x字符开始,向右截取y个字符。

若x为正数y负数,返回结果为null

若x为负数,y为正数,则表示从sourceString的最右侧第x字符开始,向右截取y个字符。

若x,y为负数,返回结果为空。

若x,y为小数,则都会将x,y转化为整数在进行计算。计算方法是甩尾发,就是舍弃小数部分,只去整数部分。



声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。