为了账号安全,请及时绑定邮箱和手机立即绑定

如何从字符串中删除最后 4 个字符?

如何从字符串中删除最后 4 个字符?

Go
料青山看我应如是 2023-06-19 15:38:09
我想从字符串中删除最后 4 个字符,所以“test.txt”变成了“test”。package mainimport (    "fmt"    "strings")func main() {    file := "test.txt"    fmt.Print(strings.TrimSuffix(file, "."))}
查看完整描述

3 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

这将安全地删除任何点扩展 - 如果没有找到扩展将是容忍的:


func removeExtension(fpath string) string {

        ext := filepath.Ext(fpath)

        return strings.TrimSuffix(fpath, ext)

}

游乐场示例


表测试:


/www/main.js                             -> '/www/main'

/tmp/test.txt                            -> '/tmp/test'

/tmp/test2.text                          -> '/tmp/test2'

/tmp/test3.verylongext                   -> '/tmp/test3'

/user/bob.smith/has.many.dots.exe        -> '/user/bob.smith/has.many.dots'

/tmp/zeroext.                            -> '/tmp/zeroext'

/tmp/noext                               -> '/tmp/noext'

                                         -> ''


查看完整回答
反对 回复 2023-06-19
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

虽然已经有一个公认的答案,但我想分享一些字符串操作的切片技巧。


从字符串中删除最后 n 个字符


正如标题所说,remove the last 4 characters from a string,这是非常常见的用法slices,即,


file := "test.txt"

fmt.Println(file[:len(file)-4]) // you can replace 4 with any n

输出:


test

游乐场示例。


删除文件扩展名:


从您的问题描述来看,您似乎正试图.txt从字符串中删除文件扩展名后缀(即 )。


为此,我更喜欢上面@colminator 的回答,即


file := "test.txt"

fmt.Println(strings.TrimSuffix(file, filepath.Ext(file)))


查看完整回答
反对 回复 2023-06-19
?
偶然的你

TA贡献1841条经验 获得超3个赞

您可以使用它来删除最后一个“。”之后的所有内容。
去游乐场

package main


import (

    "fmt"

    "strings"

)


func main() {

    sampleInput := []string{

    "/www/main.js",

    "/tmp/test.txt",

    "/tmp/test2.text",

    "/tmp/test3.verylongext",

    "/user/bob.smith/has.many.dots.exe",

    "/tmp/zeroext.",

    "/tmp/noext",

    "",

    "tldr",

    }

    for _, str := range sampleInput {

        fmt.Println(removeExtn(str))

    }

}


func removeExtn(input string) string {

    if len(input) > 0 {

        if i := strings.LastIndex(input, "."); i > 0 {

            input = input[:i]

        }

    }

    return input

}


查看完整回答
反对 回复 2023-06-19
  • 3 回答
  • 0 关注
  • 204 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信