iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > GO >golang strings包的Replace的使用说明
  • 792
分享到

golang strings包的Replace的使用说明

2024-04-02 19:04:59 792人浏览 薄情痞子
摘要

函数声明: func Trim(s string, cutset string) string 官方描述: 返回将 s 前后端所有 cutset 包含的 utf-


函数声明:


func Trim(s string, cutset string) string

官方描述:

返回将 s 前后端所有 cutset 包含的 utf-8 码值都去掉的字符串

示例代码:


package main
import (
 "fmt"
 "strings"
 _ "test/subpac"
)
func main(){
 fmt.Println("[ !!! Achtung! Achtung! !!! ]:[]:[", strings.Trim(" !!! Achtung! Achtung! !!! ", "") ,"\b]")
 fmt.Println("[ !!! Achtung! Achtung! !!! ]:[ ]:[", strings.Trim(" !!! Achtung! Achtung! !!! ", " ") ,"\b]")
 fmt.Println("[ !!! Achtung! Achtung! !!! ]:[!]:[", strings.Trim(" !!! Achtung! Achtung! !!! ", "!") , "\b]")
 fmt.Println("[ !!! Achtung! Achtung! !!! ]:[! ]:[", strings.Trim(" !!! Achtung! Achtung! !!! ", "! "), "\b]" )
}

输出结果:


[ !!! Achtung! Achtung! !!! ]:[]:[ !!! Achtung! Achtung! !!! ]
[ !!! Achtung! Achtung! !!! ]:[ ]:[ !!! Achtung! Achtung! !!!]
[ !!! Achtung! Achtung! !!! ]:[!]:[ !!! Achtung! Achtung! !!! ]
[ !!! Achtung! Achtung! !!! ]:[! ]:[ Achtung! Achtung]

第一行 cutset 为空(不是空格):因此输出原字符串。

第二行 cutset 为 ” “(空格):因此串首尾的两个空格字符被删除了。

第三行 cutset 为 “!” :收尾未匹配到该 cutset,因此输出原字符串。

第四行 cutset 为 “! “:首先匹配到空格,串首尾空格字符被删除,然后匹配到 “!”,继续删除首尾的各三个 “!”,于是得到该结果串。

注:输出结果多余的空格是因为 Println 在输出多个串时会在串之间添加空格。如下:


fmt.Println("123", "456", "789")

输出:


123 456 789

补充:golang_strings:trim分割“/“出现的坑及解决办法

问题描述

strings.Trim和strings.TrimLeft在分割带有“https://”的字符串时,会多分割一些字符,对分割结果造成影响。

推测原因:

TrimLeft 只针对utf-8字符进行处理,相关处理可能出现问题。// todo源码没看太懂,哪位大佬明白的可以帮忙解释下

解决办法

测试代码如下:


package main
import (
 "fmt"
 "strings"
)
// TrimLeft和Trim分割字符串时,对于有"/"的字符串切割会出现问题
// 切割前缀使用TrimPrefix,切割后缀使用TrimSuffix进行代替
func main() {
 Url := "Https://www.baidu.com/material/list"
 fmt.Println(strings.TrimLeft(Url, "https://www.baidu.com")) // erial/list
 fmt.Println(strings.TrimPrefix(Url, "https://www.baidu.com")) // /material/list
 Url2 := ":www.baidu.com/material/list"
 fmt.Println(strings.Trim(Url, "https://www.baidu.com")) // erial/l
 fmt.Println(strings.Trim(Url2, ":www.baidu.com"))  // /material/list
 s := "Goodbye,, world!"
 fmt.Println(strings.TrimSuffix(s, ", world!")) // Goodbye,
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

您可能感兴趣的文档:

--结束END--

本文标题: golang strings包的Replace的使用说明

本文链接: https://www.lsjlt.com/news/122157.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • golang strings包的Replace的使用说明
    函数声明: func Trim(s string, cutset string) string 官方描述: 返回将 s 前后端所有 cutset 包含的 utf-...
    99+
    2024-04-02
  • golang 中strings包的Replace的使用说明
    函数声明为: func Replace(s, old, new string, n int) string 官方描述为: 返回将s中前n个不重叠old子串都替换为new的新字符...
    99+
    2024-04-02
  • golang中strings包的Replace使用方法
    这篇文章将为大家详细讲解有关golang中strings包的Replace使用方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。函数声明:func Trim(s string...
    99+
    2023-06-14
  • golang中strings包Replace的函数声明示例
    这篇文章将为大家详细讲解有关golang中strings包Replace的函数声明示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。函数声明为:func Replace(s, old,...
    99+
    2023-06-14
  • golang 中signal包的Notify用法说明
    函数声明为: func Notify(c chan<- os.Signal, sig ...os.Signal) 官方描述: Notify函数让signal包将输入信号转...
    99+
    2024-04-02
  • 使用golang-unsafe包的注意事项及说明
    目录总结(详细的内容可以往下看)详细内容总结基于golang 15.5 总结(详细的内容可以往下看) 1.不能使用unsafe包里的ArbitraryType类型 2.Pointer...
    99+
    2023-02-10
    golang-unsafe包 golang unsafe 使用golang-unsafe包
  • 基于golang中container/list包的用法说明
    list是一个双向链表 该结构具有链表的所有功能。 type Element type Element struct { Value interface{} ...
    99+
    2024-04-02
  • golang中json和struct的使用说明
    1、返回json响应结果 在struct的字段后面加入json:"key"可以进行json格式输出,其中key为json的键名 type SuccessResponse stru...
    99+
    2024-04-02
  • Golang的锁机制使用及说明
    目录踩坑点互斥锁 Mutex读写锁 RWMutex谨防锁拷贝查看数据竞争总结golang中的锁分为互斥锁、读写锁、原子锁即原子操作。 在 Golang 里有专门的方法来实现锁,就是 ...
    99+
    2023-02-16
    Golang锁机制 锁机制 Golang锁
  • Request的包装类HttpServletRequestWrapper的使用说明
    目录Request的包装类HttpServletRequestWrapper使用大致的意思是:上述方案解决了HttpServletRequestWrapper和HttpServlet...
    99+
    2024-04-02
  • Oracle内建包UTL_FILE使用说明
    在数据库的开发中,当PL/SQL语句很复杂的时候,我想写一些Log,就像java的Log4j那样。这样就可以很好的跟踪程序的运行情况。在网上找到的文章不是很好用,修改了一下。 1:在Oracle服...
    99+
    2024-04-02
  • mysql中insertignore、insert和replace的区别及说明
    目录insert ignore、insert和replace的区别测试代码insertreplaceinsert ignoreinsert ignore、insert和re...
    99+
    2024-04-02
  • RCMD的使用说明
    这篇文章主要介绍“RCMD的使用说明”,在日常操作中,相信很多人在RCMD的使用说明问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”RCMD的使用说明”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!*****...
    99+
    2023-06-08
  • mysql8.0JSON_CONTAINS的使用说明
    目录JSON_CONTAINS的使用语法案例JSON_CONTAINS函数问题结构如下JSON_CONTAINS的使用 语法 JSON_CONTAINS(json_doc, val[...
    99+
    2024-04-02
  • java字符串的替换replace、replaceAll、replaceFirst的区别说明
    目录字符串的替换replace、replaceAll、replaceFirst区别不多解释,看代码replaceAll、replaceFirst使用需要注意的问题类型定义如下如果我们...
    99+
    2024-04-02
  • Golang strings包常用字符串操作函数怎么使用
    这篇文章主要讲解了“Golang strings包常用字符串操作函数怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang strings包常用字符串操作函数...
    99+
    2023-06-22
  • vue中vue-router的使用说明(包括在ssr中的使用)
    目录安装vue-router创建配置文件路由映射规则配置路由设置内容入口文件配置app.vue配置router中使用props其他配置属性导航守卫vue笔记之vue-router的使...
    99+
    2024-04-02
  • java ImmutableMap的使用说明
    ImmutableMap:一个不可变集合 java中的Immutable对象: 简单地说,如果一个对象实例不能被更改就是一个Immutable的对象,Java SDK提供的大量值对象...
    99+
    2024-04-02
  • ORACLE event的使用说明
    这篇文章给大家介绍ORACLE event的使用说明,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。eventEvent Reference 10013 - Monitor Transaction Recovery102...
    99+
    2023-06-06
  • Pytorch BertModel的使用说明
    基本介绍 环境: Python 3.5+, Pytorch 0.4.1/1.0.0 安装: pip install pytorch-pretrained-bert 必需参数: ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作