Golang 检查字符串是否以指定后缀结尾

Golang 检查字符串是否以指定后缀结尾

在Golang中,有时需要判断字符串是否以指定的后缀结尾,比如判断一个文件的扩展名是否为.txt。本文将介绍两种方法实现此功能,分别为strings.HasSuffix函数和strings.HasSuffix函数。

用strings.HasSuffix函数检查后缀

strings.HasSuffix是Golang内置的一个字符串方法,用于判断一个字符串是否以指定的后缀结尾。它的函数签名如下:

func HasSuffix(s, suffix string) bool

其中参数s是需要检查的字符串,参数suffix是后缀,函数返回值为bool类型,为true表示字符串s以后缀suffix结尾,为false则表示不是。

下面是一个使用strings.HasSuffix函数检查字符串是否以.txt结尾的示例代码:

package main

import (
    "fmt"
    "strings"
)

func main() {
    fileName := "example.txt"
    if strings.HasSuffix(fileName, ".txt") {
        fmt.Printf("%s is a text file.\n", fileName)
    } else {
        fmt.Printf("%s is not a text file.\n", fileName)
    }
}

输出:

example.txt is a text file.

用正则表达式检查后缀

另一种方法是使用正则表达式来检查字符串是否以指定的后缀结尾。这种方法需要用到regexp包。下面是一个用正则表达式检查字符串是否以.txt结尾的示例代码:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    fileName := "example.txt"
    matched, _ := regexp.MatchString(`.*\.txt$`, fileName)
    if matched {
        fmt.Printf("%s is a text file.\n", fileName)
    } else {
        fmt.Printf("%s is not a text file.\n", fileName)
    }
}

其中,正则表达式.*\.txt$用于匹配以.txt结尾的字符串。函数regexp.MatchString返回两个值,第一个是一个bool类型的值表示是否匹配成功,第二个是一个错误信息。在本示例中,我们忽略了错误信息。输出结果与上例相同。

结论

本文介绍了两种检查Golang字符串是否以指定后缀结尾的方法,分别为strings.HasSuffix函数和正则表达式。对于简单的检查,使用strings.HasSuffix函数更为方便,而对于复杂的检查,使用正则表达式会更加灵活。在实际使用中,请根据情况选择合适的方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程