golang中没有很多其他语言中的截取字符串函数

现在单独定义一个函数来处理

// 截取字符串,支持多字节字符
// start:起始下标,负数从从尾部开始,最后一个为-1
// length:截取长度,负数表示截取到末尾
func SubStr(str string, start int, length int) (result string) {s := []rune(str)total := len(s)if total == 0 {return}// 允许从尾部开始计算if start < 0 {start = total + startif start < 0 {return}}if start > total {return}// 到末尾if length < 0 {length = total}end := start + lengthif end > total {result = string(s[start:])} else {result = string(s[start:end])}return
}

[golang] golang实现截取字符串函数SubStr相关推荐

  1. sqlite 截取字符串函数substr

    函数:substr(string string,num start,num length) 用法: string为字符串: start为起始位置:字符串的第一个字符的位置为1,不是从0开始计算 len ...

  2. php代码getsubstr,ThinkPHP 模板substr的截取字符串函数实例讲解

    ThinkPHP 模板substr的截取字符串函数详解 ThinkPHP 模板substr的截取字符串函数 在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ ...

  3. php字符串分割tp模板,ThinkPHP 模板substr的截取字符串函数详解

    ThinkPHP 模板substr的截取字符串函数 在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $star ...

  4. php向前截取字符串函数,ThinkPHP 模板substr的截取字符串函数详解

    ThinkPHP 模板substr的截取字符串函数 在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $star ...

  5. oracle 截取 tr,oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)...

    (1)oracle中实现截取字符串:substr substr(string, start_position, [length]) 其中,string是元字符串,start_position为开始位置 ...

  6. mysql语句+截取字符串_MySQL 截取字符串函数的sql语句

    1.left(name,4)截取左边的4个字符 列: select left(201809,4) 年 结果:2018 2.right(name,2)截取右边的2个字符 select right(201 ...

  7. mysql 从第几个字符串开始截取_MySQL 截取字符串函数的sql语句

    1.left(name,4)截取左边的4个字符 列: SELECT LEFT(201809,4) 年 结果:2018 2.right(name,2)截取右边的2个字符 SELECT RIGHT(201 ...

  8. thinkphp省略php,ThinkPHP的截取字符串函数无法显示省略号的解决方法

    对于ThinkPHP的截取字符串函数无法显示省略号的情况,解决方法如下: 打开Common/extend.php页面,修改msubstr函数如下: function msubstr($str, $st ...

  9. sql中截取字符串函数_SQL Server 2017中的顶级SQL字符串函数

    sql中截取字符串函数 SQL Server 2017 has been in the talk for its many features that simplify a developer's l ...

最新文章

  1. python3.5全局解释器锁GIL-实现原理浅析
  2. 重装MS SQL Server 2000前必须彻底删除原安装文件!
  3. Android通用流行框架汇总
  4. 多线程与高并发(七):详解线程池 - 自定义线程池,JDK自带线程池,ForkJoin,源码解析等
  5. 深度特征提取方法_深度学习|三维重建:StereoDRNet
  6. (转)FPGA的速度等级(speed grade)
  7. 软件设计师 - 算法思想
  8. mysql迁移、备份数据表,导出表数据与结构
  9. atitit 项目注册功能算法attilax总结.docx
  10. matlab判断李雅普诺夫稳定性
  11. 英文顺序:第一~第N
  12. nmon监控工具使用(打开nmon文件出现  运行时错误13类型不匹配)
  13. Google Play 上架全流程_2022年谷歌应用商店上架流程
  14. 影视剪辑,7个创意转场及7个剪辑技巧,剪辑技巧分享
  15. 图纸管理系统_图纸文档管理软件系统
  16. NAACL 2021 Accepted Paper List
  17. 微信小程序:装B神器P图修改微信流量主小程序源码下载趣味恶搞图制作免服务器域名
  18. 聊聊Hive数据血缘——从Atlas没有列级血缘的Bug讲起
  19. mysql存储csv文件_MySQL 查询结果保存为CSV文件
  20. Dapp 投票 Voting 实现流程

热门文章

  1. 利用Go制作微信机器人(二)回复消息
  2. 人社部印发《电子劳动合同订立指引》:指导用人单位和劳动者依法规范订立电子劳动合同,逐步推进电子劳动合同全面应用。
  3. C语言中scanf()、printf()、gets()、puts()之间的区别
  4. python3.6安装包下载_下载 - CPython v3.8.5 官方安装包,离线安装程序,绿色便携版
  5. 关于内存的编程题,对异常: 0xC0000005 的分析以及解决办法
  6. 人工智能风口只有2%的人能够成为赢家!——CSDN蒋涛
  7. C++重载小于号运算
  8. OpenCV---calcHist函数说明
  9. ACM竞赛 错误理解,坏习惯,定势思维纠正——血泪史
  10. HTML5系列代码:绘制一个圆形和矩形叠加的图形