Golang 字符串操作--使用strings、strconv包
strings包
package main import (
"fmt"
"strings"
) func main() {
//func Count(s, substr string) int
//判断s中出现过多少次substr。
//如果substr为空字符串,则返回s的长度,这里的是指unicode字符的数量
fmt.Println(strings.Count("hello world", "l")) //3
fmt.Println(strings.Count("你好hello", "")) //8 //判断s是否包含子串substr
//func Contains(s, substr string) bool
fmt.Println(strings.Contains("hello world", "he")) //true //判断s是否以prefix开头
//func HasPrefix(s, prefix string) bool
fmt.Println(strings.HasPrefix("hello", "h")) //true //找子串的位置
//func Index(s, substr string) int
fmt.Println(strings.Index("hello", "")) //0
fmt.Println(strings.Index("hello", "o")) //4
fmt.Println(strings.LastIndex("hello", "")) //5
fmt.Println(strings.LastIndex("hello", "e")) //1
//如果子串是空字符串,Index返回0,LastIndex则返回字符串长度len(s)
//如果包含子串,则返回子串的index。如果不包含子串,则返回-1 //删除字符串两端的指定字符串
//func Trim(s string, cutset string) string
fmt.Println(strings.Trim("##demo#$#", "#")) //demo#$
fmt.Println(strings.TrimLeft("##test##", "#")) //test##
fmt.Println(strings.TrimRight("##test##", "#")) //##test //删除字符串两端的空白字符(\n,\t,空格等)
//func TrimSpace(s string) string
s := " 123456 \n "
fmt.Println(len(s), len(strings.TrimSpace(s))) //13 6 //字符串分割与拼接
ss := "1#2#3#4#5#6#7"
//func Split(s, sep string) []string
arr := strings.Split(ss, "#") //[1 2 3 4 5 6 7]
//func Join(a []string, sep string) string
sss := strings.Join(arr, "-")
fmt.Println(arr, sss) //[1 2 3 4 5 6 7] 1-2-3-4-5-6-7 //字符串比较
//func Compare(a, b string) int
//0=>a==b -1=> a<b 1=>a>b
if strings.Compare("abc", "cde") > 0 {
fmt.Println("abc大于cde")
} else {
fmt.Println("abc小于或等于cde")
}
//可以直接使用> == <来进行判断 //大小写转换
//func ToLower(s string) string
//func ToUpper(s string) string
fmt.Println(strings.ToUpper("123abcdefg"))//123ABCDEFG
fmt.Println(strings.ToLower("123ABCDEFG"))//123abcdefg
}
strconv包
package main import (
"fmt"
"strconv"
) func main() {
//将一个内容是整数的字符串转换为整型
//func Atoi(s string) (int, error)
if i, err := strconv.Atoi("123"); err != nil {
panic(err)
} else {
fmt.Println(i)
} //整型转换为字符串型
//func Itoa(i int) string
s := strconv.Itoa(99)
fmt.Println(s) //将bool值转换为字符串类型
//func FormatBool(b bool) string
flag := strconv.FormatBool(true)
fmt.Println(flag, len(flag)) //true 4 //进制间转换
//func FormatInt(i int64, base int) string
fmt.Println(strconv.FormatInt(100, 4)) //1210 十进制转4进制
fmt.Println(strconv.FormatInt(0xA, 2)) //1010 十六进制转2进制 //将字符串s按照base进制进行解析,注意这里不是数制转换
//func ParseInt(s string, base int, bitSize int) (i int64, err error)
fmt.Println(strconv.ParseInt("1010", 2, 64)) //10 <nil>
fmt.Println(strconv.ParseInt("A", 16, 64)) //10 <nil> //浮点数格式化
//第二个参数f表示正常输出,e/E表示科学计数法,g/G表示保留结果的总位数(整数部分位数+小数部分位数)
//第三个参数表示保留小数点的位数
//第四个参数表示使用32位还是64位浮点数来保存结果
//func FormatFloat(f float64, fmt byte, prec, bitSize int) string
fmt.Println(strconv.FormatFloat(123.456789, 'f', 4, 64)) //123.4568
fmt.Println(strconv.FormatFloat(123.456789, 'E', 4, 64)) //1.2346E+02
fmt.Println(strconv.FormatFloat(123.456789, 'e', 4, 64)) //1.2346e+02
fmt.Println(strconv.FormatFloat(123.456789, 'g', 4, 64)) //123.5 //将字符串用双引号括起来,不会将转义字符转义,转义字符原样输出
//func Quote(s string) string
fmt.Println(strconv.Quote("abc")) //"abc"
}
Golang 字符串操作--使用strings、strconv包的更多相关文章
- golang 字符串操作实例
package main import s "strings" import "fmt" var p = fmt.Println func main() { p ...
- go内建容器-字符和字符串操作
1.基础定义 在基础语法篇提到过golang的rune相当于其他编程语言的char,其本质是一个int32(四字节),用[]rune来转换一个字符串时,得到的是个解码后的结果,存储在新开辟的[]run ...
- C/C++ 字符串操作函数 思维导图梳理
这些常用的字符串操作函数都是包在string.h头文件中. 分享此图,方便大家记忆 <(^-^)> 选中图片点击右键,在新标签页中打开图片会更清晰
- GO语言strconv包的使用
Go语言中strconv包实现了基本数据类型和其字符串表示的相互转换. strconv包 strconv包实现了基本数据类型与其字符串表示的转换,官方文档中文版. string与int类型转换 Ato ...
- golang 字符串与整数, 布尔转换 strconv
strconv 是golang对于字符串和基本数据类型之间的转换字符串转整数testStr := "1000" testInt, err := strconv.Atoi(testS ...
- GO语言的进阶之路-Golang字符串处理以及文件操作
GO语言的进阶之路-Golang字符串处理以及文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们都知道Golang是一门强类型的语言,相比Python在处理一些并发问题也 ...
- Golang字符串处理以及文件操作
一.整数 1.int与uint的初值比较以及其大小. 1 /* 2 #!/usr/bin/env gorun 3 @author :xxxx 4 Blog:http://www.cnblogs.com ...
- (Go)07.Go语言中strings和strconv包示例代码详解02
1.strings使用 统计字符串出现次数 strings.Count(s string, substr string) int Count 用于计算字符串 substr 在字符串 s 中出现的非重叠 ...
- [Xcode 实际操作]九、实用进阶-(27)字符串文件(Localizable.strings)的本地化
目录:[Swift]Xcode实际操作 本文将演示字符串文件(Localizable.strings)的本地化. 在项目[DemoApp]文件夹下点击鼠标右键,弹出右键菜单 ->[New Fil ...
随机推荐
- 更换jupyter notebook风格主题、修改默认工作路径(Ubuntu系统和Win系统)
默认的风格对代码关键词的颜色提醒很不明显,而且白色背景长久使用非常刺眼,所以考虑更换主题. 在更换途中,发现代码输出行,前几个字符被遮挡显示不出来,找了很久才解决,备忘一些要点. 1:替换主题方法 h ...
- Python:decorator [转]
Python中的装饰器是你进入Python大门的一道坎,不管你跨不跨过去它都在那里. 为什么需要装饰器 我们假设你的程序实现了say_hello()和say_goodbye()两个函数. def sa ...
- May 26. 2018 Week 21st Saturday
Do what you say, say what you do. 做你说过的,说你能做的. Be honest to yourself, and be honest to those people ...
- 【2018.04.19 ROS机器人操作系统】机器人控制:运动规划、路径规划及轨迹规划简介之一
参考资料及致谢 本文的绝大部分内容转载自以下几篇文章,首先向原作者致谢,希望自己能在这些前辈们的基础上能有所总结提升. 1. 运动规划/路径规划/轨迹规划的联系与区别 https://blog.csd ...
- docker1.13.1的安装与卸载及mysql5.5安装实例
docker中国官方地址:https://www.docker-cn.com/ 您可以使用以下命令直接从该镜像加速地址进行拉取: $ docker pull registry.docker-cn.co ...
- Web和移动开发的未来
Web和移动开发的未来 当我们与来自整个IT行业的专家交谈时,他们告诉我们技术,PWA和优化的持续整合是关键. 为了收集有关网络和移动开发当前和未来状况的见解,我们与19位IT主管进行了交流,我们问道 ...
- img的complete和onload
HTML DOM complete 属性 定义和用法: complete 属性可返回浏览器是否已完成对图像的加载. 如果加载完成,则返回 true,否则返回 fasle. 语法: imageObjec ...
- iptables 设置端口转发/映射
iptables 设置端口转发/映射 服务器A有两个网卡 内网ip:192.168.1.3 外网ip:10.138.108.103 本地回环:127.0.0.1 服务器B有网卡,8001提供服务 内网 ...
- IDEA+提示“Cannot resolve symbol XXXX”
问题描述:鼠标放置下图中红色包上提示“Cannot resolve symbol XXXX”信息 解决: File->Invalidate Caches/Restart 清除缓存并重启 idea
- P1365 WJMZBMR打osu! / Easy-洛谷luogu
传送门 题目背景 原 维护队列 参见P1903 题目描述 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有nn次点击要做,成功了就是o,失败 ...