网站首页 > 技术文章 正文
字符串处理是编程中最常见的场景,各种编程语言都有与其相关的函数,今天我们讲一下字符串截取函数,用法略有差异。
Java语言
语法
public String substring(int beginIndex)
或
public String substring(int beginIndex, int endIndex)
参数
- beginIndex -- 起始索引(包括), 索引从 0 开始。
- endIndex -- 结束索引(不包括)。
用例
String str = new String("This is text");
System.out.print("返回值 :" );
System.out.println(str.substring(4) );
System.out.print("返回值 :" );
System.out.println(str.substring(4, 10) );
运行结果
返回值 : is text
返回值 : is te
C#语言
语法
public string Substring(int startIndex)
或
public string Substring(int startIndex, int length)
参数
- startIndex -- 起始索引(包括), 索引从 0 开始。
- length -- 子字符串中的字符数,即截取的长度。
用例
string value = "This is text";
int startIndex = 5;
int length = 2;
string substring = value.Substring(startIndex, length);
Console.WriteLine(substring); //此处将打印is
Python
语法
string[start : end : step]
参数
- string -- 要截取的字符串。
- start -- 表示要截取的第一个字符所在的索引(截取时包含该字符)。如果不指定,默认为 0,也就是从字符串的开头截取。
- end -- 表示要截取的最后一个字符所在的索引(截取时不包含该字符)。如果不指定,默认为字符串的长度。
- step -- 指的是从 start 索引处的字符开始,每 step 个距离获取一个字符,直至 end 索引处的字符。step 默认值为 1,当省略该值时,最后一个冒号也可以省略。
用例
str = "This is text"
str1 = str[0:4]
str2 = str[:8:2]
str3 = str[9:12]
print('st1 = ', str1, ' str2 = ', str2, ' str3 = ', str3)
执行结果
str1 = This str2 = Ti s str3 = ext
JavaScript
语法
string.substring(start, end)
参数
- start -- 必需,非负的整数;起始位置,索引从 0 开始。
- end -- 可选,非负的整数;结束位置(至多,但不包括);如果省略,则提取字符串的其余部分。
用例
let text = "This is text";
let result = text.substring(1, 4);
//用法基本同Java,但有一个地方,当start大于end时会交换参数,即此处result2和result是相同的值
let result2 = text.substring(4, 1);
Oracle内置函数
语法
substr(string string, int a, int b)
或
substr(string string, int a)
参数
- string -- 需要截取的字符串。
- a -- 截取字符串的开始位置(注:当a等于0或1时,都是从第一位开始截取,可以理解为索引从1开始)。
- b -- 要截取的字符串的长度(注:当a小于0时,则只有 |a| ≥ b才会取b的个数,否则取|a|作为长度)。
用例
select substr('HelloWorld',0,3) value from dual; //返回结果:Hel,截取从“H”开始3个字符
select substr('HelloWorld',1,3) value from dual; //返回结果:Hel,截取从“H”开始3个字符
select substr('HelloWorld',5,3) value from dual; //返回结果:oWo
select substr('HelloWorld',-1,3) value from dual; //返回结果:d (从后面倒数第一位开始往后取1个字符,而不是3个)
select substr('HelloWorld',-2,3) value from dual; //返回结果:ld (从后面倒数第二位开始往后取2个字符,而不是3个)
select substr('HelloWorld',-3,3) value from dual; //返回结果:rld (从后面倒数第三位开始往后取3个字符)
MySQL内置函数
语法
substring(str, pos) 或 substr(str, pos)
substring(str, pos, len) 或 substr(str, pos, len)
参数
- str -- 需要截取的字符串。
- pos -- 截取字符串的开始位置,索引从0开始。
- len -- 要截取的字符串的长度。
用例
select substr('HelloWorld',0,3); //返回结果:Hel,截取从“H”开始3个字符
select substr('HelloWorld',1,3); //返回结果:ell,截取从“e”开始3个字符
总结一下,只有Oracle内置的字符串截取函数索引是从1开始,Java和JavaScript需指定指定结束位置索引,但截取后的字符串不包含该位置的字符,其他语言大多数指定截取长度,而不是结束位置;Python语言则是使用类似数组访问方式的语法糖来实现字符串截取,更加的方便。
猜你喜欢
- 2024-11-13 oracle中LPAD()与RPAD()函数的用法——填充函数
- 2024-11-13 以下是我整理的京东供应链数据仓库开发面试题1
- 2024-11-13 MySQL 十大常用字符串函数 mysql字符函数大全
你 发表评论:
欢迎- 614℃几个Oracle空值处理函数 oracle处理null值的函数
- 605℃Oracle分析函数之Lag和Lead()使用
- 594℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 591℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 585℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 579℃【数据统计分析】详解Oracle分组函数之CUBE
- 568℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 559℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- PageHelper - 最方便的 MyBatis 分页插件
- 面试二:pagehelper是怎么实现分页的,
- MyBatis如何实现分页查询?(mybatis-plus分页查询)
- SpringBoot 各种分页查询方式详解(全网最全)
- 如何在Linux上运行exe文件,怎么用linux运行windows软件
- 快速了解hive(快速了解美国50个州)
- Python 中的 pyodbc 库(pydbclib)
- Linux搭建Weblogic集群(linux weblogic部署项目步骤)
- 「DM专栏」DMDSC共享集群之部署(一)——共享存储配置
- 故障分析 | MySQL 派生表优化(mysql pipe)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)