Golang 常用字符串函数

news2025/1/13 17:32:21
    • 统计字符串长度,按字节 len(str)

str := "你好"
fmt.Println("len=", len(str))
    • 字符串遍历,同时处理有中文的问题 s := []rune(str)

str := "你好"
s := []rune(str)
for i := 0; i < len(s); i++ {
    fmt.Printf("string=%c\n", s[i])
}
    • 字符串转整数 num, err := strconv.Atoi(str)

str := "123"
num, err := strconv.Atoi(str)
if err != nil {
    fmt.Println("转换成功,数字为:", num)
} else {
    fmt.Println("转换失败,错误:", err)
}
    • 整数转字符串 str := strconv.Itoa(num)

num := 123
str := strconv.Itoa(num)
fmt.Printf("str=%v, type=%T\n", str, str)
    • 查找子串是否在指定的字符串中,区分大小写,支持汉字 strings.Contains(s, substr)

substr := "world"
s := "hello world!"
v := strings.Contains(s, substr)
fmt.Println("v=", v) // 返回:true
    • 统计一个字符串中有几个指定的子串,区分大小写,支持汉字 strings.Count(s, substr)

substr := "世界"
s := "你好,世界!世界~"
count := strings.Count(s, substr)
fmt.Println("数量:", count) // 返回:2
    • 字符串比较,==区分大小写;不区分strings.EqualFold(s, t)

s := "world"
t := "WorLd"
v := strings.EqualFold(s, t)
fmt.Println("v=", v) // 返回:true
    • 返回子串在字符串第一次出现的位置,从0开始计数,区分大小写,若没有返回-1 strings.Index(s, substr)

s := "hello world!"
substr :="world"
index := strings.Index(s, substr)
fmt.Println("index=", index) // 返回:6

类似PHP的strpos函数

    • 返回子串在字符串最后一次出现的位置,从0开始计数,区分大小写,若没有返回-1 strings.LastIndex(s, substr)

s := "hello world!world~"
substr := "world"
index := strings.LastIndex(s, substr)
fmt.Println("index=", index) // 返回:12
    • 将指定的子串替换为另一个子串 strings.Replace(s, old, new, n)

s := "hello world!world~"
old := "world"
new := "世界"
str := strings.Replace(s, old, new, -1)
fmt.Println("str=", str) // 返回:hello 世界!世界~
    • 按照指定字符将字符串拆分为字符串数组 strings.Split(s, sep)

s := "10,11,12"
sep := ","
strArr := strings.Split(s, sep)
for index, value := range strArr {
    fmt.Printf("index=%v value=%v\n", index, value)
}

类似PHP的explode

    • 将字符串字母进行大写转换 strings.ToUpper(s)

    • 将字符串字母进行小写转换 strings.ToLower(s)

    • 将字符串左右两边空格去掉 strings.TrimSpace(s)

s := "      Hello, World!  "
str := strings.TrimSpace(s)
fmt.Println("str=", str) // 返回:Hello, World!
    • 将字符串左右两边指定的字符去掉 strings.Trim(s, cutset)

s := "a Hello, World!a "
cutset := "a "
str := strings.Trim(s, cutset)
fmt.Println("str=", str) // 返回:Hello, World!
    • 将字符串左边指定的字符去掉 strings.TrimLeft(s, cutset)

    • 将字符串右边指定的字符去掉 strings.TrimRight(s, cutset)

    • 判断字符串是否以指定的字符串开头 strings.HasPrefix(s, prefix)

s := "https://www.xx.com"
prefix := "https"
v := strings.HasPrefix(s, prefix)
fmt.Println("v=", v) // 返回:true
    • 判断字符串是否以指定的字符串结尾 strings.HasSuffix(s, suffix)

s := "21312123123123.jpg"
suffix := ".jpg"
v := strings.HasSuffix(s, suffix)
fmt.Println("v=", v) // 返回:true

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/145578.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安全知识答题小程序v2.0与v3.0的异同点一览

安全知识答题小程序安全知识答题小程序这个软件架构是微信原生小程序云开发。主要包含六大功能模块页面&#xff0c;首页、答题页、结果页、活动规则页、答题记录页、排行榜页。v2.0的功能有以下&#xff1a;排行榜页答题记录页活动规则页微信授权登录获取微信头像和昵称等首页…

SQL SELECT TOP, LIMIT, ROWNUM 子句

SQL SELECT TOP 子句 SELECT TOP 子句用于规定要返回的记录的数目。 SELECT TOP 子句对于拥有数千条记录的大型表来说&#xff0c;是非常有用的。 注意:并非所有的数据库系统都支持 SELECT TOP 语句。 MySQL 支持 LIMIT 语句来选取指定的条数数据&#xff0c; Oracle 可以使用…

java后端第五阶段:Git

一、开发场景 备份、代码还原、协同开发、追溯问题代码的编写人和编写时间&#xff01; 安装&#xff1a;直接去官网下载&#xff0c;傻瓜式安装 二、Git常用指令 1.设置用户签名 git config --global user.name 用户名 git config --global user.email 邮箱 2.初始化本地仓…

用存储过程、定时器、触发器来解决数据分析问题

做数据分析或者数据处理&#xff0c;我们也需要掌握这些技能&#xff0c;来解决特定的业务问题。比如&#xff1a;做自动化报表&#xff0c;如果数据需要每天实时更新&#xff08;增量爬虫&#xff09;、定时计算某个业务指标 、想要实时监控数据库表中的数据增、删、改情况等。…

四万字总结Redis语法、配置、实战

文章目录一、安装1.Linux下安装下载解压安装修改配置设置环境变量启动、连接查看redis进程退出2.windows下安装下载并解压二、系统管理1.常用key相关的命令2.时间相关命令3.设置相关命令CONFIG GET & CONFIG SET4.查询信息5.密码设置三、基本数据类型1.Redis strings2.Redi…

Golang常用结构源码01-Map

Golang集合源码-Map 22届211本科&#xff0c;在字节实习了一年多&#xff0c;正式工作了半年&#xff0c;工作主要是golang业务研发&#xff0c;go语言使用和生态比java简洁很多&#xff0c;也存在部分容易遇见的问题&#xff0c;常用结构需要对其底层实现略有了解才不容易写出…

小程序学习笔记

注册小程序账号 www.mp.weixin.qq.com 获取appid 微信开发者工具下载 https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 设置代理和外观 创建小程序项目 小程序项目结构 app.json文件 这个文件的第一个路径就是小程序的默认页面 window配置项 …

使用kettle同步全量数据到Elasticsearch(es)--elasticsearch-bulk-insert-plugin应用

背景 为了前端更快地进行数据检索&#xff0c;需要将数据存储到es中是一个很不错的选择。由于公司etl主要工具是kettle&#xff0c;这里介绍如何基于kettle的elasticsearch-bulk-insert-plugin插件将数据导入es。在实施过程中会遇到一些坑&#xff0c;这里记录解决方案。 可能…

Java集合类ArrayList应用 | 二维数组的集合类表示与杨辉三角实现

目录 一、题干 &#x1f517;力扣&#xff1a;118. 杨辉三角 二、题解 1. 思路 2. 完整代码 三、总结 一、题干 &#x1f517;力扣&#xff1a;118. 杨辉三角 二、题解 1. 思路 我们知道杨辉三角的规律是&#xff1a; 每一行的第一列和它的最后一列上的数均为1.除此之…

如何在实验室服务器上跑代码

1.工具准备 可以下载一个xshell或secureCRT或者其他shell工具&#xff0c;通过ssh方式连接服务器&#xff0c;然后通过本地电脑终端控制服务器。连接方式输入主机&#xff08;Host&#xff09;,和端口号&#xff08;一般是22&#xff09;就行了。如下图 连接成功后就可以在本…

java面试题每日10问(1)

1.What is Java? Java is object-oriented, platform-independent, Multithreaded, and portable programming language.it provides its own JRE and API. 2.What is the difference between JDK, JRE, and JVM? JVM Java Virtual Machine provides the runtime environm…

返乡做县城跑腿平台困难吗?都有哪些需求要点需要掌握?

自2020年受疫情影响以来&#xff0c;大家对跑腿服务有了更全新的认识。跑腿的便利性和及时性让跑腿行业蓬勃发展。现如今全面开放之际&#xff0c;跑腿用户总数也将突破新高&#xff0c;其跑腿市场也将迎来快速发展期。 据统计&#xff0c;国内配送市场规模已超过400亿单&…

springmvc 请求转换为MultipartFile的过程

前言: 最近在研究文件上传的问题,所以就写下这个博客,让大家都知道从流转换为MutipartFile的过程,不然你就知道在方法中使用,而不知道是怎么样处理的,是不行的 从DiaspatherServlet说起: 别问为啥,去了解tomcat和servlet的关系,我后面会 写这篇博客的 servlet的生命周期 ini…

JVM内存结构简介

一、java代码编译执行过程 1.源码编译&#xff1a;通过Java源码编译器将Java代码编译成JVM字节码&#xff08;.class文件&#xff09; 2.类加载&#xff1a;通过ClassLoader及其子类来完成JVM的类加载 3.类执行&#xff1a;字节码被装入内存&#xff0c;进入JVM虚拟机&#xff…

Linux 计算机网络从零到一开始构建 必看

Linux 计算机网络从零到一开始构建 在整个互联网中&#xff0c;计算之间的沟可能通需要跨越千山万水&#xff0c;层层加密解码。当前我们就来尝试粗浅剖析一下整个计算机网络的形成。 形成与起源 从现在回头看之前的网络形成过程&#xff0c;其实对应的就是我们的网络多层架…

为了让自己心情愉悦,我用python把美妞得图片制成了GIF设置桌面

前言 大家早好、午好、晚好吖 ❤ ~ 要想生活过的去&#xff0c;每天美女必然少不了~ 每天看美女&#xff0c;只为了愉悦心情&#xff0c;心情好了&#xff0c;才长寿。 于是怀揣着愉悦心情的想法&#xff0c;我开始制作GIF动图生成器 这个小工具制作的目的是为了将多张图片组…

舵机的控制

舵机的信号线是做为输入线就是接收PWM信号&#xff08;定时器产生&#xff09;。 一般PWM的周期是20ms,那么对应的频率是50hz。那么改变不同的占空比就可以控制转动的角度。 其中占空比从0.5-2.5ms&#xff08;如果占空比大于2.5ms也只会在最大角度。&#xff09;&#xff0c;相…

Node.js+MySQL开发的B2C商城系统源码+数据库(微信小程序端+服务端),界面高仿网易严选商城

下载地址&#xff1a;Node.jsMySQL开发的B2C商城系统源码数据库&#xff08;微信小程序端服务端&#xff09; NideShop商城&#xff08;微信小程序端&#xff09; 界面高仿网易严选商城(主要是2016年wap版)测试数据采集自网易严选商城功能和数据库参考ecshop服务端api基于&am…

php学习笔记-代码基本语法-day01

php代码基本语法 PHP&#xff08;PHP: Hypertext Preprocessor&#xff09;即“超文本预处理器”&#xff0c;是在服务器端执行的脚本语言&#xff0c;尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言&#xff0c;吸纳Java和Perl多个语言的特色发展出自己的特色语法&…

一些微信使用小技巧分享

技巧一&#xff1a;检测僵尸粉 微信好友过多&#xff0c;我们可以通过创建群聊来检测好友。点击右上角图标&#xff0c;选择【发起群聊】&#xff0c;勾选需要检测的好友&#xff0c;点击【完成】。能进群的都是朋友关系&#xff0c;不能进群的会删或者拉黑你。不过需要注意的是…