Go语言教程之边写边学:基础练习:常用字符串函数(2)
Golang提供了许多内置的字符串函数,它们有助于在处理字符串数据时执行多项操作。Golang字符串函数是核心的一部分。使用此功能无需安装,只需导入"strings"包即可。重要的Golang字符串函数列表如下:
HasPrefix函数:
HasPrefix函数检查字符串s是否以指定的字符串开头。如果字符串S以前缀string开头,则返回true,否则返回false。
func HasPrefix(s, prefix string) bool
示例代码:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.HasPrefix("Australia", "Aus"))
fmt.Println(strings.HasPrefix("Australia", "aus"))
fmt.Println(strings.HasPrefix("Australia", "Jap"))
fmt.Println(strings.HasPrefix("Australia", ""))
}
输出:
true
false
false
true
HasSuffix函数:
HasSuffix函数检查字符串s是否以指定的字符串结尾。如果字符串S以后缀string结尾,则返回true,否则返回false。
func HasSuffix(s, prefix string) bool
示例代码:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.HasSuffix("Australia", "lia"))
fmt.Println(strings.HasSuffix("Australia", "A"))
fmt.Println(strings.HasSuffix("Australia", "LIA"))
fmt.Println(strings.HasSuffix("123456", "456"))
fmt.Println(strings.HasSuffix("Australia", ""))
}
输出:
true
false
false
true
true
Index函数:
Index函数允许在字符串中搜索特定文本。它只需匹配字符串中的特定文本即可工作。如果找到,则返回从0开始的特定位置。如果未找到,则返回 -1。
func Index(s, sep string) int
示例代码:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Index("Australia", "Aus"))
fmt.Println(strings.Index("Australia", "aus"))
fmt.Println(strings.Index("Australia", "A"))
fmt.Println(strings.Index("Australia", "a"))
fmt.Println(strings.Index("Australia", "Jap"))
fmt.Println(strings.Index("Japan-124", "-"))
fmt.Println(strings.Index("Japan-124", ""))
}
输出:
0
-1
0
5
-1
5
0
IndexAny函数:
IndexAny函数从string[left] 中的chars[right] 返回任何Unicode码位的第一个实例的索引。它只需匹配字符串中的特定文本即可工作。如果找到,则返回从0开始的特定位置。如果未找到,则返回 -1。
func IndexAny(s, chars string) int
示例代码:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.IndexAny("australia", "japan")) // 字母a下标fmt.Println(strings.IndexAny("japan", "pen")) // 字母p下标fmt.Println(strings.IndexAny("mobile", "one")) // 字母o下标fmt.Println(strings.IndexAny("123456789", "4")) // 数字4下标fmt.Println(strings.IndexAny("123456789", "0")) // 数字0下标
}
输出:
0
2
1
3
-1
IndexByte函数:
IndexByte函数返回字符串中字符的第一个实例的索引。如果找到,则返回从0开始的特定位置。如果未找到,则返回 -1。
func IndexByte(s string, c byte) int
示例代码:
package main
import (
"fmt"
"strings"
)
func main() {
var s,t,u byte
t = 'l'
fmt.Println(strings.IndexByte("australia",t))
fmt.Println(strings.IndexByte("LONDON",t))
fmt.Println(strings.IndexByte("JAPAN",t))
s = 1
fmt.Println(strings.IndexByte("5221-JAPAN",s))
u = '1'
fmt.Println(strings.IndexByte("5221-JAPAN",u))
}
输出:
6
-1
-1
-1
3
IndexRune函数:
IndexRune函数以字符串形式返回Unicode码位r的第一个实例的索引。如果找到,则返回从0开始的特定位置。如果未找到,则返回 -1。在下面的示例中,s,t和u变量类型声明为rune。
func IndexRune(s string, r rune) int
示例代码:
package main
import (
"fmt"
"strings"
)
func main() {
var s,t,u rune
t = 'l'
fmt.Println(strings.IndexRune("australia",t))
fmt.Println(strings.IndexRune("LONDON",t))
fmt.Println(strings.IndexRune("JAPAN",t))
s = 1
fmt.Println(strings.IndexRune("5221-JAPAN",s))
u = '1'
fmt.Println(strings.IndexRune("5221-JAPAN",u))
}
输出:
6
-1
-1
-1
3