Oracle的substr、java的substring、js的substr和substring

本文详细介绍了在不同编程语言中如何进行字符串截取操作,包括 SQL 的 SUBSTR 函数、Java 的 substring 方法及 JavaScript 的 substring 和 substr 方法。通过具体示例展示了正数与负数索引在截取过程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

substr(字符串,截取开始位置,截取长度) //返回截取的字(不是字符串索引(下标)

substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串

substr('Hello World',1,1) //返回结果为 'H'  *0和1都是表示截取的开始位置为第一个字符

substr('Hello World',2,4) //返回结果为 'ello'

substr('Hello World',-3,3)//返回结果为 'rld' *负数(-i)表示截取的开始位置为字符串右端向左数第i个字符

测试:

select substr('Hello World',-3,3) value from dual;

 

附:java中substring(index1,index2)的简单用法

作用:从字符串索引(下标)为index1的字符开始截取长度为index2-index1 的字符串。

String str="Hello World";

System.out.println(str.substring(0,5));

打印结果为:Hello

附:js中substring(index1[,index2])与substr(start [, length ])

*js的字符串截取相关内容太长,请参见下一篇文章哈哈哈*



转载自:https://www.cnblogs.com/nicholas_f/articles/1526063.html

### JavaScript 中 `substr` `substring` 方法的区别及用法 #### 定义与参数差异 `substr(startIndex, length)` 接受两个参数:起始索引要提取的字符数。如果长度为负数,则视为0。 `substring(startIndex, endIndex)` 同样接受两个参数,分别是起始索引结束索引(不包括该位置)。当这两个参数相等时,会返回空字符串[^1]。 #### 处理超出范围的情况 对于越界的处理方式不同: - 当 `startIndex` 或者 `endIndex` 超过字符串的最大长度时,`substring()` 函数不会抛出错误而是自动调整到最大可能的有效范围内并继续执行操作。 - 若 `substr()` 的第一个参数大于等于字符串长度或者第二个参数小于零的情况下,同样也会得到一个空串作为结果;但是它允许通过指定较大的正整数值来获取从给定起点直到字符串结尾的所有剩余部分。 #### 返回值特性 两者都会返回一个新的字符串副本而不改变原始对象的内容。不过需要注意的是,在某些旧版浏览器中可能存在性能上的细微差别,现代环境下这种差距几乎可以忽略不计。 ```javascript // 使用 substring 示例 const str = 'hello'; console.log(str.substring(2, 4)); // 输出 "ll" // 使用 substr 示例 console.log(str.substr(2, 3)); // 输出 "llo" ``` #### 浏览器兼容性标准支持情况 值得注意的一点是,尽管目前大多数主流浏览器都很好得实现了这两种方法的支持,但 W3C 已经声明不再推荐使用 `substr()`, 建议开发者优先考虑采用更直观易懂且跨平台表现一致性的 `slice()` 或者 `substring()` 来替代之。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值