我的编程空间,编程开发者的网络收藏夹
学习永远不晚

go怎么删除字符串中的部分字符

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

go怎么删除字符串中的部分字符

这篇文章将为大家详细讲解有关go怎么删除字符串中的部分字符,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

go是什么

golang是一种编译语言,可以将代码编译为机器代码,编译后的二进制文件可以直接部署到目标机器而无需额外的依赖,所以golang的性能优于其他的解释性语言,且可以在golang中使用goroutine来实现并发性,它提供了一个非常优雅的goroutine调度程序系统,可以很容易地生成数百万个goroutine。

go,在删除切片中的元素时,可以使用append(),方式将其中的元素删除。

slice :=make([]int , 0)slice = append(slice[:k],slice[k+1:])//此方法就是删除切片中位于k中的元素

由于字符串也可以进行遍历,但是字符串不可以进行切片操作,也就是只有切片才能使用append()操作

go怎么删除字符串中的部分字符

所以如果要在字符串中删除某一个字符。

str :="teststring"str = str[:5]+str[6:]//与其他语言相似,在进行切割时,没有包括前面的索引,但是不包括后面的索引//str = testsring

补充:Go 字符串处理

直接使用“+”:

示例:

a := "aa"b := "bb"a = a + bfmt.Println(a)

因为字符串类型在Go中是不可改变的,因此每次操作实际都要新分配字符串,所以在字符串比较多的时候效率不高。

使用strings.Join()函数

示例:

var s []stringfor i := 0; i <= 9; i++ {   s = append(s, strconv.Itoa(i))}fmt.Println(strings.Join(s, ""))

这种方式需要花费构建slice的时间。

使用bytes.Buffer:

示例:

package mainimport (    "bytes"    "fmt"    "strconv")func main() {    var buffer bytes.Buffer    for i := 0; i <= 9; i++ {        buffer.WriteString(strconv.Itoa(i))    }    fmt.Println(buffer.String())}

这种在字符串比较多的时候效率最高。

字符串截取

不含中文

s := "abcdefg"s = string([]byte(s)[1:3])fmt.Println(s)结果 bc

含中文

s := "a你好cd"s = string([]rune(s)[:3])fmt.Println(s)结果    a你好

在golang中可以通过切片截取一个数组或字符串,但是当截取的字符串是中文时,可能会出现的问题是:由于中文一个字不只是由一个字节组成,所以直接通过切片可能会把一个中文字的编码截成两半,结果导致最后一个字符是乱码。

可以先将其转为[]rune,再截取后,转回string

字符串替换

示例:

fmt.Println(strings.Replace("ABAACEDF", "A", "a", 2))  // aBaACEDFfmt.Println(strings.Replace("ABAACEDF", "A", "a", -1)) // aBaaCEDF//第四个参数小于0,表示所有的都替换

字符串转大写

示例:

fmt.Println(strings.ToUpper("abaacedf")) //ABAACEDF

字符串转小写

示例:

fmt.Println(strings.ToLower("ABAACEDF")) //abaacedf

查找子串

func Contains(s, substr string) bool :这个函数是查找某个字符是否在这个字符串中存在,存在返回true

示例

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.Contains("hello world", "lo")) //true}

func ContainsAny(s, chars string) bool:判断字符串s中是否包含个子串str中的任何一个字符。

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.ContainsAny("hello world", "w"))   //true   fmt.Println(strings.ContainsAny("hello world", "wdx")) //true   fmt.Println(strings.ContainsAny("hello world", "x"))   //false}

Count(s string, str string) int :计算字符串str在s中的非重叠个数。如果str为空串则返回s中的字符(非字节)个数+1。

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.Count("hello world", "l")) //3}

ContainsRune(s string, r rune) bool:判断字符串s中是否包含字符r。其中rune类型是utf8.RUneCountString可以完整表示全部Unicode字符的类型。

示例

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.ContainsRune("hello world", 'l'))       //true   fmt.Println(strings.ContainsRune("hello world", rune('l'))) //true   fmt.Println(strings.ContainsRune("hello world", 108))       //true   fmt.Println(strings.ContainsRune("hello world", 10))        //false}

Index(s string, str string) int :返回子串str在字符串s中第一次出现的位置。如果找不到则返回-1;如果str为空,则返回0。

示例

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.Index("hello world", "l")) //2}

LastIndex(s string, str string) int : 返回子串str在字符串s中最后一次出现的位置。如果找不到则返回-1;如果str为空则返回字符串s的长度。

示例

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.LastIndex("hello world", "l")) //9}

IndexRune(s string, r rune) int :返回字符r在字符串s中第一次出现的位置。如果找不到则返回-1。

示例

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.IndexRune("hello world", 'l'))       //2   fmt.Println(strings.IndexRune("hello world", rune('l'))) //2}

这里注意rune类型使用的单引号。

IndexAny(s string, str string) int :返回字符串str中的任何一个字符在字符串s中第一次出现的位置。如果找不到或str为空则返回-1。

示例

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.IndexAny("hello world", "l")) //2   fmt.Println(strings.IndexAny("hello world", "le")) //1}

LastIndexAny(s string, str string) int:返回字符串str中的任何一个字符在字符串s中最后一次出现的位置。如果找不到或str为空则返回-1。

示例

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.LastIndexAny("hello world", "l"))  //9   fmt.Println(strings.LastIndexAny("hello world", "le")) //9}

SplitN(s, str string, n int) []string:以str为分隔符,将s切分成多个子串,结果中不包含str本身。如果str为空则将s切分成Unicode字符列表。如果s中没有str子串,则将整个s作为[]string的第一个元素返回。

参数n表示最多切分出几个子串,超出的部分将不再切分,最后一个n包含了所有剩下的不切分。如果n为0,则返回nil;如果n小于0,则不限制切分个数,全部切分。

示例

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.SplitN("hello world", "l", 2)) //[he lo world]   fmt.Println(strings.SplitN("hello world", "l", 4)) //[he  o wor d]}

SplitAfterN(s, str string, n int) []string:以str为分隔符,将s切分成多个子串,结果中包含str本身。如果str为空,则将s切分成Unicode字符列表。如果s 中没有str子串,则将整个s作为 []string 的第一个元素返回。

参数n表示最多切分出几个子串,超出的部分将不再切分。如果n为0,则返回 nil;如果 n 小于 0,则不限制切分个数,全部切分。

示例

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.SplitAfterN("hello world", "l", 2)) //[hel lo world]   fmt.Println(strings.SplitAfterN("hello world", "l", 4)) //[hel l o worl d]}

Split(s, str string) []string:以str为分隔符,将s切分成多个子切片,结果中不包含str本身。如果str为空,则将s切分成Unicode字符列表。如果s中没有str子串,则将整个s作为[]string的第一个元素返回。

示例

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.Split("hello world", "l")) //[he  o wor d]}

SplitAfter(s, str string) []string:以str为分隔符,将s切分成多个子切片,结果中包含str本身。如果 str 为空,则将 s 切分成Unicode字符列表。如果s中没有str子串,则将整个s作为[]string的第一个元素返回。

示例

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.SplitAfter("hello world", "l")) //[hel l o worl d]}

Fields(s string) []string:以连续的空白字符为分隔符,将s切分成多个子串,结果中不包含空白字符本身。空白字符有:\t, \n, \v, \f, \r, ' ‘, U+0085 (NEL), U+00A0 (NBSP) 。如果 s 中只包含空白字符,则返回一个空列表。

示例

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.Fields("hello world")) //[hello world]}

FieldsFunc(s string, f func(rune) bool) []string:以一个或多个满足f(rune)的字符为分隔符,将s切分成多个子串,结果中不包含分隔符本身。如果s中没有满足f(rune)的字符,则返回一个空列表。

示例

package mainimport (   "fmt"   "strings")func main() { //空格和l都是分隔符   fn := func(c rune) bool {      return strings.ContainsRune(" l", c)   }   fmt.Println(strings.FieldsFunc("hello world", fn)) //[he o wor d]}

HasPrefix(s string, prefix string) bool:判断字符串s是否以prefix开头。

示例

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.HasPrefix("hello world", "hel")) //true   fmt.Println(strings.HasPrefix("hello world", "el"))  //false}

HasSuffix(s, suffix string) bool :判断字符串s是否以prefix结尾。

示例

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.HasSuffix("hello world", "ld")) //true   fmt.Println(strings.HasSuffix("hello world", "el")) //false}

Map(f func(rune) rune, s string) string:将s中满足f(rune)的字符替换为f(rune)的返回值。如果f(rune)返回负数,则相应的字符将被删除。

示例

package mainimport (   "fmt"   "strings")func main() {   fn := func(c rune) rune {      if strings.ContainsRune(",|/", c) {         return ' '      } else {         return c      }   }   fmt.Println(strings.Map(fn, "hello|world"))//hello world}

Repeat(s string, n int) string:将n个字符串s连接成一个新的字符串。

示例

package mainimport (   "fmt"   "strings")func main() {   fmt.Println(strings.Repeat("he", 10)) //hehehehehehehehehehe}

ToTitle(s string) string:将s中的所有字符修改为其Title格式,大部分字符的Title格式就是Upper格式,只有少数字符的Title格式是特殊字符。这里的ToTitle主要给Title函数调用。

示例

fmt.Println(strings.Title("hello world")) //Hello World

TrimLeftFunc(s string, f func(rune) bool) string:删除s左边连续的满足f(rune)的字符。

示例

fn := func(c rune) bool {   return strings.ContainsRune(",|/", c)}fmt.Println(strings.TrimLeftFunc("|/hello world/", fn))//hello world/

TrimRightFunc(s string, f func(rune) bool) string:删除右边连续的满足f(rune)的字符。

示例

fn := func(c rune) bool {   return strings.ContainsRune(",|/", c)}fmt.Println(strings.TrimRightFunc("|/hello world/", fn)) //|/hello world

IndexFunc(s string, f func(rune) bool) int:返回s中第一个满足f(rune) 的字符的字节位置。如果没有满足 f(rune) 的字符,则返回 -1。

示例

fn := func(c rune) bool { return strings.ContainsRune(",|/", c) }fmt.Println(strings.IndexFunc("|/hello world/", fn)) //0fmt.Println(strings.IndexFunc("hello world/", fn))   //11fmt.Println(strings.IndexFunc("hello world", fn))    //-1

LastIndexFunc(s string, f func(rune) bool) int:返回s中最后一个满足f(rune)的字符的字节位置。如果没有满足 f(rune) 的字符,则返回 -1。

示例

fn := func(c rune) bool {   return strings.ContainsRune(",|/", c)}fmt.Println(strings.LastIndexFunc("|/hello world/", fn)) //13fmt.Println(strings.LastIndexFunc("hello world/", fn))   //11fmt.Println(strings.LastIndexFunc("hello world", fn))    //-1

Trim(s string, str string) string:删除s首尾连续的包含在str中的字符。

示例

fmt.Println(strings.Trim("/hello world/", "/")) //hello world

TrimLeft(s string, str string) string:删除s首部连续的包含在str中的字符串。

示例

fmt.Println(strings.TrimLeft("/hello world/", "/")) //hello world/

TrimRight(s string, str string) string:删除s尾部连续的包含在str中的字符串。

示例

fmt.Println(strings.TrimRight("/hello world/", "/")) // /hello world

TrimSpace(s string) string:删除s首尾连续的的空白字符。

示例

fmt.Println(strings.TrimRight(" hello world ", "/")) //hello world

TrimPrefix(s, prefix string) string:删除s头部的prefix字符串。如果s不是以prefix开头,则返回原始s。

示例

fmt.Println(strings.TrimPrefix("/hello world/", "/")) //hello world/

TrimSuffix(s, suffix string) string:删除s尾部的suffix字符串。如果s不是以suffix结尾,则返回原始s。(只去掉一次,注意和TrimRight区别)

示例

fmt.Println(strings.TrimSuffix("/hello world/", "/")) ///hello world

EqualFold(s1, s2 string) bool:比较UTF-8编码在小写的条件下是否相等,不区分大小写,同时它还会对特殊字符进行转换。比如将“ϕ”转换为“Φ”、将“DŽ”转换为“Dž”等,然后再进行比较。

“==”比较字符串是否相等,区分大小写,返回bool。

示例

fmt.Println(strings.EqualFold("hello world", "hello WORLD")) //truefmt.Println(strings.EqualFold("hello world", "hello WORLDd")) //false

Compare(s1 string, s2 string) int1:比较字符串,区分大小写。相等为0,s1>s2为-1,s1<s2为1

示例

fmt.Println(strings.Compare("hello world", "hello world")) //0fmt.Println(strings.Compare("hello world", "hello WORLDd")) //1fmt.Println(strings.Compare("hello WORLD" ,"hello world" )) //-1

关于“go怎么删除字符串中的部分字符”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

go怎么删除字符串中的部分字符

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

下载Word文档

猜你喜欢

go怎么删除字符串中的部分字符

这篇文章将为大家详细讲解有关go怎么删除字符串中的部分字符,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。go是什么golang是一种编译语言,可以将代码编译为机器代码,编译后的二进制文件可以直接部署到目标
2023-06-14

go如何删除字符串中的部分字符

go,在删除切片中的元素时,可以使用append(),方式将其中的元素删除。slice :=make([]int , 0) slice = append(slice[:k],slice[k+1:]) //此方法就是删除切片中位于k中的元素由
2022-06-07

sql中怎么删除字段中部分字符串

在 sql 中删除字段中部分字符串,可以使用 replace() 函数。语法为:update table_name set column_name = replace(column_name, 'substring_to_remove',
sql中怎么删除字段中部分字符串
2024-05-15

python中怎么删除字符串中的字符

在Python中,有多种方法可以删除字符串中的字符。以下是其中几种常用的方法:1. 使用切片:可以使用切片操作来删除字符串中的字符。切片操作允许你指定要保留的字符范围。例如,如果想删除字符串中的第一个字符,可以使用`str[1:]`。```
2023-09-27

matlab怎么删除字符串中某个字符

要删除字符串中的某个字符,可以使用以下方法:1. 使用`strrep`函数:`newStr = strrep(str, '要删除的字符', '')`。这将返回一个新的字符串`newStr`,其中删除了所有匹配的字符。2. 使用`replac
2023-09-12

mysql怎么删除字符串后的字符

在MySQL中,可以使用SUBSTRING函数来删除字符串后的字符。以下是一个示例:假设有一个名为str的表,其中有一个名为text的字段,存储了需要删除字符串后的字符的值。UPDATE strSET text = SUBSTRING
mysql怎么删除字符串后的字符
2024-05-11

python怎么删除字符串的特殊字符

本篇内容主要讲解“python怎么删除字符串的特殊字符”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么删除字符串的特殊字符”吧!说明1、strip()删除字符串前后(左右两侧)的空
2023-06-20

sql中怎么删除字符串

在 sql 中,可以使用以下函数删除字符串中的字符:1. substr() 截取子字符串;2. replace() 替换子字符串;3. ltrim() 删除左空格;4. rtrim() 删除右空格。SQL 中删除字符串在 SQL 中,可以
sql中怎么删除字符串
2024-05-15

go语言删除字符串字符的方法介绍

今天小编给大家分享的是go语言删除字符串字符的方法介绍,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。 删除字符串的方法:1、用TrimSpace()来去除字符串空格;2、用Tri
2023-07-04

c语言怎么删除字符串中的指定字符

在C语言中,可以通过循环遍历字符串并判断字符是否是指定字符,然后将非指定字符复制到新的字符串中,从而删除字符串中的指定字符。以下是一个示例代码:```c#include #include void removeChar(char *str,
2023-08-16

php字符串怎么删除后两位字符

方法:1、使用substr(),语法“substr(字符串,0,-2)”;2、用substr_replace(),语法“substr_replace(字符串,"",-2,2)”;3、用rtrim(),语法“rtrim(字符串,“字符”)”。
2016-07-19

使用javascript怎么删除字符串中指定字符

这篇文章给大家介绍使用javascript怎么删除字符串中指定字符,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JavaScript的特点1.JavaScript主要用来向HTML页面添加交互行为。2.JavaScri
2023-06-14

使用python怎么删除字符串中指定的字符

使用python怎么删除字符串中指定的字符?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的
2023-06-14

javascript字符串特别字符的删除

在JavaScript中,字符串是一种非常重要的数据类型,常常被用来表示文本或者字符数据。由于字符串是不可变的,因此在对字符串进行操作时,我们需要使用字符串方法来完成。其中一个常见的操作就是删除字符串中的特殊字符。JavaScript字符串中的特殊字符是指一些无法打印的字符,例如制表符、回车符、换行符等等。这些特殊字符在处理文本和字符数据时常常会造成麻烦,因此我们需要将它们从字
2023-05-20

c语言字符串怎么删除指定字符

要删除一个指定的字符,可以使用两个指针来遍历字符串,并将不需要删除的字符保留下来。下面是一个示例程序:#include #include void removeChar(char *str, cha
c语言字符串怎么删除指定字符
2024-03-01

怎么使用sed删除字符串某个字符

使用sed命令删除字符串中的某个字符,可以使用以下的格式:```sed 's/要删除的字符//g' 文件名```其中,`要删除的字符`是要删除的字符或者字符串,可以使用正则表达式来匹配多个字符。例如,假设要删除字符串中的所有空格,可以使用以
2023-09-27

php怎么删除字符串中的小写字母

这篇文章给大家分享的是有关php怎么删除字符串中的小写字母的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php删除字符串中的小写字母的方法:首先新建php文件,使用【header()】方法将页面的编码格式设置为【
2023-06-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录