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中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...
随机推荐
- node inspector的安装以及使用【已经淘汰了】
https://github.com/node-inspector/node-inspector 前提 1.npm install -g node-pre-gyp https://github.com ...
- YTU 2520: 小慧唱卡拉OK
2520: 小慧唱卡拉OK 时间限制: 1 Sec 内存限制: 128 MB 提交: 478 解决: 207 题目描述 小慧唱歌非常好听,小鑫很喜欢听小慧唱歌,小鑫最近又想听小慧唱歌了,于是小鑫请 ...
- luogu 3951 小凯的疑惑
noip2017 D1T1 小凯的疑惑 某zz选手没有看出这道结论题,同时写出了exgcd却不会用,只能打一个哈希表骗了30分 题目大意: 两个互质的正整数a和b,求一个最小的正整数使这个数无法表示为 ...
- NOI.AC #31 MST —— Kruskal+点集DP
题目:http://noi.ac/problem/31 好题啊! 题意很明白,对于有关最小生成树(MST)的题,一般是要模拟 Kruskal 过程了: 模拟 Kruskal,也就是把给出的 n-1 条 ...
- 使用Google的Closure Compiler,在本机上压缩javascript
2011-12-05 13:47:39 1.JAVA JDK下载地址: http://download.oracle.com/otn-pub/java/jdk/7u1-b08/jdk-7u1-wi ...
- Nginx配置try_files实践一
参考资料: http://linuxplayer.org/2013/06/nginx-try-files-on-multiple-named-location-or-serverhttp://stac ...
- U - Relatives(欧拉函数)
Description Given n, a positive integer, how many positive integers less than n are relatively prime ...
- 10046 trace and sql
1. SQLT 下载 从metalink上下载SQLT工具,参考文档 (以下大部分(SQL可以在sqlt\utl 目录下找到)) 1.1 SQLT 安装 SQLT安装在自己的schema SQLT ...
- Jayway JsonPath实例
开源:https://github.com/json-path/JsonPath 引入库: <dependency> <groupId>com.jayway.jsonpath& ...
- Java 8 (1) 行为参数化
行为参数化就是可以帮助你处理频繁变更需求的一种软件开发模式.它意味着拿出一个代码块,把它准备好却不去执行它.这个代码块以后可以被你程序的其他部分调用,这意味着你可以推迟这块代码的执行.例如:你可以将代 ...