c语言编程笔录

首页 >   > 笔记大全

笔记大全

golang 删除后缀

更新时间:2023-11-14

Golang 删除字符串后缀

在golang中删除字符串的后缀是一个常见的需求。Golang提供了strings包,并提供TrimSuffix函数来实现此功能

使用TrimSuffix函数

TrimSuffix函数从给定的字符串中删除给定suffix的最右侧实例,并返回删除后的新字符串。示例代码如下:

    package main
    
    import (
    	"fmt"
    	"strings"
    )
    
    func main() {
    	value := "http://www.example.com/index.html"
    	suffix := ".html"
    	result := strings.TrimSuffix(value, suffix)
    
    	fmt.Println(result)
    }
  

使用字符串切片

另一种删除字符串后缀的方法是使用字符串切片。在这种方法中,我们使用'len'函数获取字符串的长度,并使用'-'运算符计算不包括后缀的新字符串切片的长度。示例代码如下:

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	value := "http://www.example.com/index.html"
    	suffix := ".html"
    	l := len(value)
    	sl := l - len(suffix)
    	if sl >= 0 && value[sl:l] == suffix {
    		result := value[:sl]
    		fmt.Println(result)
    	} else {
    		fmt.Println(value)
    	}
    }
  

使用正则表达式

另一个流行的方法是使用正则表达式来匹配和删除后缀。示例代码如下:

    package main
    
    import (
    	"fmt"
    	"regexp"
    )
    
    func main() {
    	value := "http://www.example.com/index.html"
    	suffix := ".html"
    	reg := regexp.MustCompile(suffix + "$")
    	result := reg.ReplaceAllString(value, "")
    
    	fmt.Println(result)
    }
  

总结

在本文中,我们学习了在golang中删除字符串后缀的三种方法。我们可以使用strings包的TrimSuffix函数,或者我们可以使用字符串切片来删除后缀。我们还可以使用正则表达式来匹配和删除后缀。根据您的需求和程序的复杂性,您可以选择最适合您的解决方案。