Golang中使用不定数量空格分割字符串的方法

 更新时间:2023年07月25日 10:15:10   作者:路多辛  
有这样一个使用空格分割字符串的场景,字符串中被分割的子串之间的空格数量不确定,有一个两个或者多个空格,这种场景下,使用最容易想到的strings.Split函数就做不到了,本文接下来就介绍几种行之有效的方法,需要的朋友可以参考下

脚本之家 / 编程助手:解决程序员“几乎”所有问题!
脚本之家官方知识库 → 点击立即使用

使用 strings.Fields 函数

strings.Fields 函数接受一个字符串类型的参数,使用空格及多个连续的空格将字符串进行分割,返回一个字符串切片,正好满足了我们的需求。使用示例如下:

1
2
3
4
5
6
7
8
9
10
package main
import (
    "fmt"
    "strings"
)
func main() {
    str := "欢迎来到路多辛的博客 所思所想          很棒"
    s := strings.Fields(str)
    fmt.Println(s)
}

运行看下效果:

$ go run main.go
[欢迎来到路多辛的博客 所思所想 很棒]

可以看出 str 中的子串虽然被数量不等的空格隔开,使用strings.Fields 函数处理后得到了一个字符串类型的切片,字符串被完美分割。

使用正则表达式

首先看下示例代码:

1
2
3
4
5
6
7
8
9
10
11
package main
import (
    "fmt"
    "regexp"
)
func main() {
    str := "欢迎来到路多辛的博客 所思所想          很棒"
    reg := regexp.MustCompile(`\s+`)
    result := reg.Split(str, -1)
    fmt.Println(result)
}

运行看下效果:

$ go run main.go
[欢迎来到路多辛的博客 所思所想 很棒]

得到了和上个示例一样的数据,首先使用 regexp.MustCompile 函数创建一个正则表达式,用于匹配一个或多个空格(\s+ 表示匹配至少一个空格字符)。然后使用 reg.Split 方法对字符串进行分割,第二个参数 -1 表示返回所有子串。

到此这篇关于Golang中使用不定数量空格分割字符串的方法的文章就介绍到这了,更多相关Golang空格分割字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

蓄力AI

微信公众号搜索 “ 脚本之家 ” ,选择关注

程序猿的那些事、送书等活动等着你

原文链接:https://blog.csdn.net/luduoyuan/article/details/131905787

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!

相关文章

  • Go语言标准错误error全面解析

    Go语言标准错误error全面解析

    Go语言中的错误处理是通过内置的error接口来实现的,其中errorString和wrapError是两种常见的错误类型实现方式,errorString通过errors.New()方法实现,而wrapError则通过fmt.Errorf()方法实现,支持错误的嵌套和解析
    2024-10-10
  • golang 实现tcp转发代理的方法

    golang 实现tcp转发代理的方法

    今天小编就为大家分享一篇golang 实现tcp转发代理的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Golang中的闭包(Closures)详解

    Golang中的闭包(Closures)详解

    在 Golang 中,闭包是一个引用了作用域之外的变量的函数,Golang 中的匿名函数也被称为闭包,闭包可以被认为是一种特殊类型的匿名函数,所以本文就给大家详细的介绍一下Golang的闭包到底是什么,感兴趣的小伙伴跟着小编一起来看看吧
    2023-07-07
  • Golang filepath包常用函数详解

    Golang filepath包常用函数详解

    本文介绍与文件路径相关包,该工具包位于path/filepath中,该包试图与目标操作系统定义的文件路径兼容。本文介绍一些常用函数,如获取文件绝对路径,获取文件名或目录名、遍历文件、分割文件路径、文件名模式匹配等函数,并给具体示例进行说明
    2023-02-02
  • golang简单获取上传文件大小的实现代码

    golang简单获取上传文件大小的实现代码

    这篇文章主要介绍了golang简单获取上传文件大小的方法,涉及Go语言文件传输及文件属性操作的相关技巧,需要的朋友可以参考下
    2016-07-07
  • Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据的思路详解

    Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据的思路详解

    Stream 的实现思想就是将数据处理流程抽象成了一个数据流,每次加工后返回一个新的流供使用。这篇文章主要介绍了Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据,需要的朋友可以参考下
    2022-01-01
  • 详解golang执行Linux shell命令完整场景下的使用方法

    详解golang执行Linux shell命令完整场景下的使用方法

    本文主要介绍了golang执行Linux shell命令完整场景下的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 详解prometheus监控golang服务实践记录

    详解prometheus监控golang服务实践记录

    这篇文章主要介绍了详解prometheus监控golang服务实践记录,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Golang使用Consul详解

    Golang使用Consul详解

    Consul是一个服务发现软件, 提供了服务发现\键值存储\健康检查等功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Golang 使用map需要注意的几个点

    Golang 使用map需要注意的几个点

    这篇文章主要介绍了Golang 使用map需要注意的几个点,帮助大家更好的理解和学习golang,感兴趣的朋友可以了解下
    2020-09-09

最新评论