Go语言获取文件的名称、前缀、后缀
示例代码:
package main import ( "fmt" "path" ) func main() { filename := "device/sdk/CMakeLists.txt" filenameall := path.Base(filename) filesuffix := path.Ext(filename) fileprefix := filenameall[0:len(filenameall) - len(filesuffix)] //fileprefix, err := strings.TrimSuffix(filenameall, filesuffix) fmt.Println("file name:", filenameall) fmt.Println("file prefix:", fileprefix) fmt.Println("file suffix:", filesuffix) }
执行结果:
file name: CMakeLists.txt
file prefix: CMakeLists
file suffix: .txt
path.Base(filename)
获取不包含目录的文件名
path.Ext(filename)
获取文件后缀
文件前缀 可以使用切片的方式获取:
fileprefix := filenameall[0:len(filenameall) - len(filesuffix)]
也可以使用 strings.TrimSuffix() 进行获取:
import "strings" fileprefix, err := strings.TrimSuffix(filenameall, filesuffix)
补充:golang 判断前缀后缀、包含关系
HasPrefix 判断字符串 s 是否以 prefix 开头:
strings.HasPrefix(s, prefix string) bool
HasSuffix 判断字符串 s 是否以 suffix 结尾:
strings.HasSuffix(s, suffix string) bool
字符串包含关系
Contains 判断字符串 s 是否包含 substr :
strings.Contains(s, substr string) bool
测试源码:
package main import ( "fmt" "strings" ) func main() { var str1 string = "This is an example of a string" var str2 string = "this is an " var str3 string = " of a string" fmt.Println(strings.HasPrefix(str1, str2)) fmt.Println(strings.HasSuffix(str1, str3)) }
运行结果:
[root@localhost golang]# go run zzz.go
false
true
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
golang 如何实现HTTP代理和反向代理
代理的核心功能可以用一句话概括:接受客户端的请求,转发到后端服务器,获得应答之后返回给客户端. 代理的功能有很多,事实上整个互联网到处都充斥着代理服务器.如果所有的 HTTP 访问都是客户端和服务器端直接进行的话,我们的网络不仅会变得缓慢,而且性能会大打折扣. 代理服务器根据不同的配置和使用,可能会有不同的功能,这些功能主要包括: 内容过滤:代理可以根据一定的规则限制某些请求的连接.比如有些公司会设置内部网络无法访问某些购物.游戏网站,或者学校的网络不让学生访问色情暴力的网站等 节省成本:代理服
-
Goland使用Go Modules创建/管理项目的操作
创建项目 Location:新项目文件夹GOROOT:go 安装根目录Proxy:https://goproxy.io,direct 重要:https://goproxy.io是下载go包的代理地址,设置后可在国内正常下载go仓库/github的包. 创建一个go文件 创建了一个test.go 下载安装需要的包 这里演示安装mysql driver包:github.com/go-sql-driver/mysql 直接import显示找不到包,使用左下方命令行工具,安装mysql driver 使
-
Go语言 如何实现RSA加密解密
RSA是一种非对称加密算法,它的名字是由它的三位开发者,即RonRivest.AdiShamir和LeonardAdleman 的姓氏的首字母组成的(Rivest-Shamir-Adleman ),可用于数据加密和数字签名. 用于数据加密时,消息发送方利用对方的公钥进行加密,消息接受方收到密文时使用自己的私钥进行解密. 实现代码如下: import ( "crypto/rsa" "crypto/rand" "crypto/x509" "
-
Golang实现http文件上传小功能的案例
看代码吧~ package main import ( "fmt" "io" "net/http" "os" ) func main() { http.HandleFunc("/", index) http.HandleFunc("/upload", upload) http.ListenAndServe(":1789", nil) } func upload(w h
-
go mod 安装依赖 unkown revision问题的解决方案
背景 公司一个golang的项目,使用到了公司的私有仓库,去执行go mod tidy(下载依赖)的时候,到download公司私有库的时候就报错,报错信息也不明显,只是提示找不到影响版本unkown revision 小知识 go mod golang用来管理用来的,类似java的maven(但肯定没有maven这么好用) go mod tidy ,下载更新依赖 go install这种下载依赖的方式其实是通过go get的方式去下载的 go insall -x 加上-x命令,可以查看更多的错
-
解决golang 关于全局变量的坑
学习golang不久,在定义全局变量的时候遇见了坑.写个小例子,增强记忆. 错误版本 var p int func main() { p, err := test(4) if err != nil { log.Fatal(err) } } func test(i int) (int, error) { return i + 1, nil } 编译一直不通过,p declared and not used.后来查了查资料,看见这种其实是在main里边又重新定义了p,所以一直提示p定义了但是没有使用
-
Go语言获取文件的名称、前缀、后缀
示例代码: package main import ( "fmt" "path" ) func main() { filename := "device/sdk/CMakeLists.txt" filenameall := path.Base(filename) filesuffix := path.Ext(filename) fileprefix := filenameall[0:len(filenameall) - len(filesuffi
-
jQuery获取上传文件的名称的正则表达式
方法一: $('input[type="file"]').on('change', function() { var reg = /[^\\\/]*[\\\/]+/g; //匹配文件的名称和后缀的正则表达式 var name = $(this).val().replace(reg, ''); var postfix = /\.[^\.]+/.exec(name);//获取文件的后缀 var text =name.substr(0,postfix['index']);//获取没有后缀的名
-
Vue在外部配置打包文件夹名称和url地址前缀
在public中添加以下两个js文件 config_build.js: module.exports = { //打包文件夹名 OUTPUT_DIR: 'test', //浏览器url地址前缀.需要同步更改config_settings.js中的ROUTE_PREFIX ROUTE_PREFIX: '/test/' } vue.config.js: const config_build = require('./public/config_build') module.exports = { p
-
基于JS模仿windows文件按名称排序效果
作个记录,主要是对数字的处理,如果数字的前面字符是相同的,则数字以值比较,而不是单个字符之间的比较. function SortLikeWin(v1, v2) { var a = v1.name; var b = v2.name; var reg = /[0-9]+/g; var lista = a.match(reg); var listb = b.match(reg); if (!lista || !listb) { return a.localeCompare(b); } for (var
-
linux下用renameTo方法修改java web项目中文件夹名称的实例
经测试,在Linux环境中安装tomcat,然后启动其中的项目,在项目中使用java.io.File.renameTo(File dest)方法可行. 之前在本地运行代码可以修改,然后传到Linux服务器上一直无法实现功能,自己一直在捣鼓,以为是window环境和Linux环境不同的原因导致,后面发现在项目中使用renameTo方法修改文件夹名称不行是因为之前改了java web项目中的js,在js中传入值到后台,后台根据值来修改文件夹名称.由于没清除缓存导致js中的代码没有刷新,所以一直出现错
-
Python遍历zip文件输出名称时出现乱码问题的解决方法
本文实例讲述了Python遍历zip文件输出名称时出现乱码问题的解决方法.分享给大家供大家参考.具体如下: windows中使用python2.7遍历zip文件之后输出文件名等信息,console打印的中文及一些标点出现乱码.查了一下网上说的windows的编码为cp936,print()函数交给系统处理打印,所以要提前编码成windows能够识别的编码. 这种print的乱码也会出现在形如print(mylist)中(mylist是python的list类型变量,print(mylist[2]
-
C#遍历文件夹获取指定后缀名文件
本文实例为大家分享了C#遍历文件夹获取指定后缀名文件的具体代码,供大家参考,具体内容如下 问题描述: 项目需要,要进行某文件夹下所有shp数据的读取 解决方法: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.
-
使用PHP接受文件并获得其后缀名的方法
HTML的form表单 用html的表单模拟一个文件上传的post请求,代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="
-
易语言保存文件时通用对话框给该文件加上指定的后缀名
默认文件后缀属性 所属对象:通用对话框 操作系统支持:Windows,数据类型:文本型: 指定当用户没有输入文件的后缀名称时所自动使用的文件后缀名称. 例程 说明 在类型为保存文件时,设置默认文件后缀,如果文件名没有指定后缀名,通用对话框就会给该文件名加上指定的默认后缀名. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接
-
用C语言获取文件的大小示例分享
查了一下发现同C语言的文件操作函数便可以很容易的实现这样的功能.在自己实现的函数中使用到的函数就只有fseek和ftell.它们的说明如下: fseek 语法: #include <stdio.h> int fseek( FILE *stream, long offset, int origin ); 函数fseek()为给出的流设置位置数据. origin的值应该是下列值其中之一(在stdio.h中定义): 名称 说明 SEEK_SET 从文件的开始处开始搜索 SEEK_CUR 从当前位置开
随机推荐
- javascript+xml技术实现分页浏览
- 一个隐蔽克隆帐号的方法
- Java并发编程之显示锁ReentrantLock和ReadWriteLock读写锁
- 利用java实现单词倒序排列
- 解决python2.7 查询mysql时出现中文乱码
- php求一个网段开始与结束IP地址的方法
- PHP基于工厂模式实现的计算器实例
- jsp 对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)
- ie与ff下的event事件使用介绍
- Vue-router 类似Vuex实现组件化开发的示例
- JavaScript之Map和Set_动力节点Java学院整理
- Android设置铃声实现代码
- javascript动画之磁性吸附效果篇
- 写了几个类,希望对大家有用。
- C#判断一个字符串是否包含另一个字符串的方法
- PHP写日志的实现方法
- 微信跳一跳python辅助软件思路及图像识别源码解析
- PHP实现RSA加解密算法示例(生成密钥位数为1024位的方法)
- Ajax实现动态显示并操作表信息的方法
- redis的2种持久化方案深入讲解