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中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...
随机推荐
- bzoj4974: [Lydsy1708月赛]字符串大师
脑洞题...玄学 假如是a[i]!=i,说明构成了循环节长为a[i]的循环,那就去%一下(别想多)看一下是循环节中的第几个咯. 否则新填的这个不能和前面构成任何循环,那就不停往前跳去把不能填的标记一下 ...
- 【CEOI2002】【Poj 1038】Bugs Integrated, Inc.
http://poj.org/problem?id=1038 发一下中文题面(今天考试直接被改了): 生记茶餐厅由于受杀人事件的影响,生意日渐冷清,不得不暂时歇业.四喜赋闲在家,整天抱着零食看电视,在 ...
- Chapter 4 Syntax Analysis
Chapter 4 Syntax Analysis This chapter is devoted to parsing methods that are typically used in comp ...
- ZOJ3965 Binary Tree Restoring
ZOJ3965 给定一颗二叉树的两种DFS序列 输出一种可能的二叉树的结构. 考察树的递归性质,不要想的太复杂. 当前节点在两个串中后面的节点假如不同则能确认两个子树,如果相同则把下个点作当前点的一个 ...
- 2010–2011, NEERC, Northern Subregional C.Commuting Functions
C.Commuting Functions 由于要求答案字典序最小,我们肯定希望从g(1)开始对函数g进行赋值,于是又公式f(g(x))=g(f(x)) 设f(x)=i 我们推导出 由于f是双射,当i ...
- JS动态加载JS
1.直接document.write <script language="javascript"> document.write("<scrip ...
- 聪明的质监员 2011年NOIP全国联赛提高组(二分+前缀和)
聪明的质监员 2011年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 小 T 是一名质量监督员, ...
- HBuilder发行原装安装包操作记录
1.在左侧"项目管理器"中选择项目: 2.点击菜单栏中的"发行-->发行为原生安装包": 3.在弹出的App云端打包中填写相关信息: IOS开发者证书配置 ...
- TCP流量控制与拥塞解决
滑动窗口 但要提高网络利用率: nagle算法 - 延迟 慢启动.拥塞避免 发送端主导cwnd init set ssthresh & cwnd = swnd loop : 网不阻塞 ...
- Python,计算 ax^2 + bx + c = 0的根
1 #-*-coding : utf-8-*- 2 import math 3 4 def quadratic(a, b, c): 5 if not isinstance(a, (int, float ...