Go:字符串操作
Package strings:https://golang.google.cn/pkg/strings/
package main import (
"fmt"
"strconv"
"strings"
) // 字符串反转
func ReverseStr(str string) string {
var result string
strLen := len(str)
for i := 0; i < strLen; i++ {
result = result + fmt.Sprintf("%c", str[strLen-i-1])
}
return result
} func main() {
var str1 = "Hello World"
// 测量字符串长度
result1 := len(str1)
fmt.Println(result1) // 11 // 字符串反转
fmt.Println(ReverseStr(str1)) // dlroW olleH // 判断字符串s是否以prefix开头
// func HasPrefix(s, prefix string) bool
fmt.Println(strings.HasPrefix(str1, "H")) // true // 判断字符串s是否以suffix结尾
// func HasSuffix(s, suffix string) bool
fmt.Println(strings.HasSuffix(str1, "ld")) // true // 返回字符串在s中第一个substr实例的索引,如果s中不存在substr,则返回-1
// func Index(s, substr string) int
fmt.Println(strings.Index("chicken", "en")) // 5
fmt.Println(strings.Index("chicken", "gg")) // -1 // 返回字符串在s中最后一个substr实例的索引,如果s中不存在substr,则返回-1
//func LastIndex(s, substr string) int
fmt.Println(strings.Index("go gopher", "go")) // 0
fmt.Println(strings.LastIndex("go gopher", "go")) // 3
fmt.Println(strings.LastIndex("go gopher", "rodent")) // -1 // 字符串替换
// func Replace(s, old, new string, n int) string
/*
返回字符串s的副本,其中前n个非重叠的old实例替换为new。
如果old为空,则它在字符串的开头和每个UTF-8序列之后匹配,对k-rune字符串产生最多k + 1个替换。
如果n <0,则替换次数没有限制。
*/
fmt.Println(strings.Replace("oink oink oink", "k", "pd", 2)) // oinpd oinpd oink
fmt.Println(strings.Replace("oink oink oink", "oink", "pd", -1)) // pd pd pd // 计算字符串中某个字符出现次数
// func Count(s, substr string) int
/*
计算字符串s中非重叠substr实例的数量。
如果substr是空字符串,则Count返回1 + s中的Unicode代码点数。
*/
fmt.Println(strings.Count("cheese", "e")) // 3
fmt.Println(strings.Count("fw", "")) // 3 // 拼接字符串本身
// func Repeat(s string, count int) string
fmt.Println(strings.Repeat("pd", 2)) // pdpd // 字符串全小写
// func ToLower(s string) string
fmt.Println(strings.ToLower("Gopher")) // gopher // 字符串全小大写
// func ToUpper(s string) string
fmt.Println(strings.ToUpper("Gopher")) // GOPHER // 去掉字符串首尾空白字符
//func TrimSpace(s string) string
fmt.Println(strings.TrimSpace(" \t\n Hello, World \n\t\r\n")) // Hello, World //去掉字符串首尾cutset字符
// func Trim(s string, cutset string) string
fmt.Println(strings.Trim("¡¡¡Hello!¡World!!!", "!¡")) // Hello!¡World // 去掉字符串首部cutset字符
//func TrimLeft(s string, cutset string) string
fmt.Println(strings.TrimLeft("¡¡¡Hello!¡World!!!", "!¡")) // Hello!¡World!!! // 去掉字符串尾部cutset字符
// func TrimRight(s string, cutset string) string
fmt.Println(strings.TrimRight("¡¡¡Hello!¡World!!!", "!¡")) // ¡¡¡Hello!¡World // 返回字符串空格分隔的所有子字符串片段
// func Fields(s string) []string
fmt.Println(strings.Fields(" foo bar baz ")) // [foo bar baz] // 返回字符串split分隔的所有子串的slice
// func Split(s, sep string) []string
fmt.Printf("%q\n", strings.Split("foo,bar,baz", ",")) // ["foo" "bar" "baz"]
fmt.Printf("%q\n", strings.Split("a foo a bar a baz", "a ")) // ["" "foo " "bar " "baz"]
fmt.Printf("%q\n", strings.Split(" xyz ", "")) // [" " "x" "y" "z" " "]
fmt.Printf("%q\n", strings.Split("", "pd")) // [""] // 用sep把s中的所有元素连接起来,以创建单个字符串
// func Join(a []string, sep string) string
s := []string{"foo", "bar", "baz"}
fmt.Printf("%q\n", strings.Join(s, ", ")) // "foo, bar, baz" // 把一个整数i转成字符串
//func Itoa(i int)string
i := 10
str2 := strconv.Itoa(i)
fmt.Printf("%T %q\n", str2, str2) // string "" // 把一个字符串转成整数
//func Atoi(s string)(int,error)
str3 := ""
if s, err := strconv.Atoi(str3); err == nil {
fmt.Printf("%T %d\n", s, s) // int 10
}
}
Go:字符串操作的更多相关文章
- python学习笔记(字符串操作、字典操作、三级菜单实例)
字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...
- shell编程常用的截取字符串操作
1. 常用的字符串操作 1.1. 替换字符串:$ echo ${var/ /_}#支持正怎表达式 / /表示搜索到第一个替换,// /表示搜索到的结果全部替换. ...
- php字符串操作集锦
web操作, 主要就是对字符文本信息进行处理, 所以, 字符串操作几乎占了很大一部分的php操作.包括 注意strstr 和 strtr的区别? 前者表示字符串查找返回字符串,后者表示字符串中字符替换 ...
- java 字符串操作和日期操作
一.字符串操作 创建字符串 String s2 = new String("Hello World"); String s1 = "Hello World"; ...
- [No000078]Python3 字符串操作
#!/usr/bin/env python3 # -*- coding: utf-8 -*- '''Python 字符串操作 string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分 ...
- Python 字符串操作及string模块使用
python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求: python的字符串属性函数 python的string模块 1.字符串属性方法操作: 1.>字符串格式输出对 ...
- C语言字符串操作总结大全
1)字符串操作 strcpy(p, p1) 复制字符串 函数原型strncpy(p, p1, n) 复制指定长度字符串 函数原型strcat(p, p1) 附加字符串 函数原型strn ...
- c# 字符串操作
一.字符串操作 //字符串转数组 string mystring="this is a string" char[] mychars=mystring.ToCharArray(); ...
- C语言字符串操作总结大全(超详细)
本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat( ...
- JavaScript中常见的字符串操作函数及用法
JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...
随机推荐
- codeforces 245H Queries for Number of Palindromes RK Hash + dp
H. Queries for Number of Palindromes time limit per test 5 seconds memory limit per test 256 megabyt ...
- [Codeforces 1037E] Trip
[题目链接] http://codeforces.com/problemset/problem/1037/E [算法] 首先离线 , 将问题倒过来考虑 , 转化为 : 每次删除一条边 , 此时最多有多 ...
- [Codeforces 339D] Xenia and Bit Operations
[题目链接] https://codeforces.com/problemset/problem/339/D [算法] 线段树模拟即可 时间复杂度 :O(MN) [代码] #include<bi ...
- BSGS算法及拓展
https://www.zybuluo.com/ysner/note/1299836 定义 一种用来求解高次同余方程的算法. 一般问题形式:求使得\(y^x\equiv z(mod\ p)\)的最小非 ...
- Line: 220 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
转自:http://blog.51cto.com/alinazh/1276363 在启动tomcat的时候出现错误: Line: 220 - com/opensymphony/xwork2/sprin ...
- Oracle 10g 10.2.0.4的group by BUG |ORA-00979 not a GROUP BY expression|
乍看 ORA-00979 not a GROUP BY expression 这个提示估计很快能将其定位为SQL语句写得有问题,实际上有可能你遇到了一个Oracle的BUG,这个BUG常见于10.2. ...
- mysql通用分页存储过程遇到的问题(转载)
mysql通用分页存储过程遇到的问题(转载) http://www.cnblogs.com/daoxuebao/archive/2015/02/09/4281980.html
- springboot(一) 热部署
代码地址:https://github.com/showkawa/springBoot_2017/tree/master/spb-demo 1.热部署的定义 所谓的热部署:比如项目的热部署,就是在应用 ...
- 洛谷P4887 第十四分块(前体)(二次离线莫队)
题面 传送门 题解 lxl大毒瘤 我们考虑莫队,在移动端点的时候相当于我们需要快速计算一个区间内和当前数字异或和中\(1\)的个数为\(k\)的数有几个,而这个显然是可以差分的,也就是\([l,r]\ ...
- xshell、xftp最新版下载方法
https://www.netsarang.com/download/main.html 登录邮箱打开第一个下载地址进行下载