修剪空格

strings包中的TrimSpace函数用于去掉字符串首尾的空格。

package main

import (
"fmt"
"strings"
) func main() {
helloWorld := "\t Hello, World "
trimHello := strings.TrimSpace(helloWorld) fmt.Printf("%d %s\n", len(helloWorld), helloWorld)
fmt.Printf("%d %s\n", len(trimHello), trimHello) // 15 Hello, World
// 12 Hello, World
}

提取子串

Go字符串的底层是read-only[]byte,所以对切片的任何操作都可以应用到字符串。

package main

import "fmt"

func main() {
helloWorld := "Hello, World and Water"
cutHello := helloWorld[:12]
fmt.Println(cutHello)
// Hello, World
}

替换子串

strings包的Replace函数可以对字符串中的子串进行替换。

package main

import (
"fmt"
"strings"
) func main() {
helloWorld := "Hello, World. I'm still fine."
replaceHello := strings.Replace(helloWorld, "fine", "OK", 1)
fmt.Println(replaceHello)
// Hello, World. I'm still OK.
}
// 注:Replace函数的最后一个参数表示替换子串的个数,为负则全部替换。

转义字符

字符串中需要出现的特殊字符要用转义字符\转义先,例如\t需要写成\\t

package main

import "fmt"

func main() {
helloWorld := "Hello, \t World."
escapeHello := "hello, \\t World."
fmt.Println(helloWorld)
fmt.Println(escapeHello)
// Hello, World.
// Hello, \t World.
}

大写字符

strings包的Title函数用于将每个单词的首字母大写,ToUpper函数则将单词的每个字母都大写。

package main

import (
"fmt"
"strings"
) func main() {
helloWorld := "hello, world. i'm still fine."
titleHello :=strings.Title(helloWorld)
upperHello := strings.ToUpper(helloWorld)
fmt.Println(titleHello)
fmt.Println(upperHello)
// Hello, World. I'M Still Fine.
// HELLO, WORLD. I'M STILL FINE.
}

Go基础编程实践(一)—— 操作字符串的更多相关文章

  1. k2datas 基础编程题,判断字符串是否有重复串

    package String; public class DuplicateString { public static boolean isDup(String s) throws Exceptio ...

  2. Go基础编程实践(三)—— 日期和时间

    日期和时间 package main import ( "fmt" "time" ) func main() { // 获取当前时间 current := ti ...

  3. Go基础编程实践(十)—— 数据库

    从数据库中读取数据 在http://sqlitebrowser.org/下载sqlite3可视化工具,在本main.go同目录下创建personal.db数据库,创建表如下: package main ...

  4. Go基础编程实践(九)—— 网络编程

    下载网页 package main import ( "io/ioutil" "net/http" "fmt" ) func main() ...

  5. Go基础编程实践(八)—— 系统编程

    捕捉信号 // 运行此程序,控制台将打印"Waiting for signal" // 按Ctrl + C 发送信号以关闭程序,将发生中断 // 随后控制台依次打印"Si ...

  6. Go基础编程实践(七)—— 并发

    同时运行多个函数 观察常规代码和并发代码的输出顺序. // 常规代码,顺序执行,依次输出 package main import ( "fmt" "time" ...

  7. Go基础编程实践(六)—— 文件

    检查文件是否存在 在此程序同目录下创建log.txt文件,以检测. package main import ( "os" "fmt" ) func main() ...

  8. Go基础编程实践(五)—— 错误和日志

    自定义错误类型 Go中可以使用errors.New()创建错误信息,也可以通过创建自定义错误类型来满足需求.error是一个接口类型,所有实现该接口的类型都可以当作一个错误类型. // error类型 ...

  9. Go基础编程实践(四)—— 数组和map

    数组去重 package main import "fmt" func main(){ intSlice := []int{1,5,5,5,5,7,8,6,6, 6} fmt.Pr ...

随机推荐

  1. CF 852E Casinos and travel

    题目链接 \(Desccription\) 给定一棵树,John从任意一个点开始,每次走向一个未到达过的点.每个点都可以有或没有赌场,每经过一个赌场心情都会反转,旅行开始前心情很好. 问有多少种方案使 ...

  2. 洛谷P2068 统计和题解

    题目描述 给定一个长度为n(n<=100000),初始值都为0的序列,x(x<=10000)次的修改某些位置上的数字,每次加上一个数,然后提出y (y<=10000)个问题,求每段区 ...

  3. SQL基础-游标&事务

    一.游标 1.游标简介 SQL是一种集合操作语言,但有时候需要对单行操作怎么办呢? 也就是有时候会过滤出不止一行的数据,但是想一行行的处理: ---游标 游标: 从集合中依次提取单条记录,直接提取完最 ...

  4. 前端零基础入门:页面结构层HTML(3)

    搭建网页HTML结构 标签 标签 块级标签 和 行内标签 标签嵌套规则 和 div css 标签是一个区块容器标记, 之间是一个容器,可以包含段落,表格,图片等各种HTML元素. 标签没有实际意义,为 ...

  5. python range 和xrange

    对于这两个好像功能都差不多,这两个经常会被搞混,所以今天一定要把这个完全弄清楚. 首先我们看看range: range([start,] stop[, step]),根据start与stop指定的范围 ...

  6. Java设计模式之builder模式

    Java设计模式之builder模式 今天学mybatis的时候,知道了SQLSessionFactory使用的是builder模式来生成的.再次整理一下什么是builder模式以及应用场景. 1. ...

  7. [技术博客] 【vagrant】硬盘扩容

    同样,这也是少昂早年走过的坑,这里直接贴出少昂个人博客链接:https://www.cnblogs.com/HansBug/p/9447020.html PS:有一位经验丰富的后端大佬坐镇指挥是多么幸 ...

  8. fdisk、mkfs.ext4、make_ext4fs、img2simg、simg2img

    一个典型的嵌入式系统是由uboot+kernel+rootfs组成的,其中uboot和kernel都是二进制,rootfs存在文件系统. 二进制在烧录的时候比较简单,将二进制数据写入存储设备固定地址: ...

  9. 韦东山视频第3课第1节_JNI_P【学习笔记】

    一.android系统java调用C方法的大概的流程图如下: 二.下面写一个JNI的程序,java的hello方法在加载native库之后能够调用C方法. 2.1 JNIDemo.java 文件内容如 ...

  10. Java 字符集编码

    一.字符编码实例1.NioTest13_In.txt文件内容拷贝到NioTest13_Out.txt文件中 public class NioTest13 { public static void ma ...