目录
3·strings.Replace(s, old, new, -1)
1·strings.Split(s, "+")
在这个示例中,字符串s被按照"+"符号进行分割,返回一个字符串切片a,其中每个元素都是被分割后的子串。
package main
import (
"fmt"
"strings"
)
func main() {
s := "Hello+World+Go"
a := strings.Split(s, "+")
fmt.Println(a) // 输出: [Hello World Go]
}
2·strings.Index(s, ".")
在这个示例中,函数strings.Index查找字符串s中第一个"."字符的索引位置,并将结果存储在index变量中。
package main
import (
"fmt"
"strings"
)
func main() {
s := "Hello.World.Go"
index := strings.Index(s, ".")
fmt.Println(index) // 输出: 5
}
3·strings.Replace(s, old, new, -1)
在这个示例中,函数strings.Replace将字符串s中的所有"Hello"子串替换为"Hi"子串,并将结果存储在newStr变量中。
package main
import (
"fmt"
"strings"
)
func main() {
s := "Hello, Hello, Hello"
newStr := strings.Replace(s, "Hello", "Hi", -1)
fmt.Println(newStr) // 输出: Hi, Hi, Hi
}
strings.Replace(s, old, new, -1) 中的 -1 参数表示替换所有匹配项。它用于指示函数将字符串 s 中的所有 old 子串都替换为 new 子串。
更具体地说,strings.Replace 函数的最后一个参数指定要替换的次数。当该参数为负数时,即 -1,函数会替换所有匹配项,不限制替换次数。如果替换次数为 0 或正数,则仅替换指定次数的匹配项。
package main
import (
"fmt"
"strings"
)
func main() {
s := "Hello, Hello, Hello"
// 替换所有匹配项
newStr := strings.Replace(s, "Hello", "Hi", -1)
fmt.Println(newStr) // 输出: Hi, Hi, Hi
// 仅替换一次匹配项
newStr = strings.Replace(s, "Hello", "Hi", 1)
fmt.Println(newStr) // 输出: Hi, Hello, Hello
// 仅替换两次匹配项
newStr = strings.Replace(s, "Hello", "Hi", 2)
fmt.Println(newStr) // 输出: Hi, Hi, Hello
}
如上所示,当 -1 作为替换次数时,函数会替换所有匹配项。而如果指定了其他正数或零作为替换次数,则仅替换指定次数的匹配项。
4.strings.Repeat(s, count)
在这个示例中,函数strings.Repeat将字符串s重复3次,生成一个新的字符串repeated。
package main
import (
"fmt"
"strings"
)
func main() {
s := "abc"
repeated := strings.Repeat(s, 3)
fmt.Println(repeated) // 输出: abcabcabc
}
5·strings.Contains(s, substr)
在这个示例中,函数strings.Contains判断字符串s是否包含子串"World",如果包含则返回true,否则返回false。
package main
import (
"fmt"
"strings"
)
func main() {
s := "Hello, World!"
contains := strings.Contains(s, "World")
fmt.Println(contains) // 输出: true
}
本文介绍了Go语言中strings包的几个常用函数,包括Split用于按指定分隔符分割字符串,Index查找子字符串首次出现的位置,Replace替换字符串中的指定子串,Repeat重复字符串一定次数,以及Contains检查字符串是否包含特定子串。这些函数是Go编程中处理字符串的关键工具。
3万+

被折叠的 条评论
为什么被折叠?



