golang如何去除多余空白字符(含制表符)


Posted in Golang onApril 25, 2021

看代码吧~

//利用正则表达式压缩字符串,去除空格或制表符
func compressStr(str string) string {
    if str == "" {
        return ""
    }
    //匹配一个或多个空白符的正则表达式
    reg := regexp.MustCompile("\\s+")
    return reg.ReplaceAllString(str, "")
}

补充:go语言去除字符串尾部所有空格

刷 leetcode 的一个算法题。

要求只删除字符串尾部的所有字符串. google 只搜出通过 strings.Trim() 方法删除前后空格或者删除字符串前边和后边的固定子字符串。

方法

从字符串后端开始计算空格数量,然后用切片切掉:

func deleteTailBlank(str string) string {
 spaceNum := 0
 for i := len(str)-1; i >= 0; i-- {  // 去除字符串尾部的所有空格
  if str[i] == ' ' {
   spaceNum++
  } else {
   break
  }
 }
 return str[:len(str)-spaceNum]
}

补充:go:字符串去除空格和换行符 strings.Replace

看代码吧~

package main 
import (
 "fmt"
 "strings"
) 
func main() {
 str := "这里是 www\n.runoob\n.com"
 fmt.Println("-------- 原字符串 ----------")
 fmt.Println(str)
 // 去除空格
 str = strings.Replace(str, " ", "", -1)
 // 去除换行符
 str = strings.Replace(str, "\n", "", -1)
 fmt.Println("-------- 去除空格与换行后 ----------")
 fmt.Println(str)
}

golang如何去除多余空白字符(含制表符)

func Replace(s, old, new string, n int) string

返回将s中前n个不重叠old子串都替换为new的新字符串,如果n<0会替换所有old子串。

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

Golang 相关文章推荐
Go语言使用select{}阻塞main函数介绍
Apr 25 Golang
go语言中json数据的读取和写出操作
Apr 28 Golang
golang 在windows中设置环境变量的操作
Apr 29 Golang
Golang 使用Map实现去重与set的功能操作
Apr 29 Golang
Golang之sync.Pool使用详解
May 06 Golang
go语言基础 seek光标位置os包的使用
May 09 Golang
go 实现简易端口扫描的示例
May 22 Golang
Golang标准库syscall详解(什么是系统调用)
May 25 Golang
golang 实用库gotable的具体使用
Jul 01 Golang
Go语言应该什么情况使用指针
Jul 25 Golang
Go语言基础map用法及示例详解
Nov 17 Golang
Golang 链表的学习和使用
Apr 19 Golang
用golang如何替换某个文件中的字符串
Apr 25 #Golang
Golang 正则匹配效率详解
golang正则之命名分组方式
Apr 25 #Golang
go语言-在mac下brew升级golang
Apr 25 #Golang
go原生库的中bytes.Buffer用法
Apr 25 #Golang
Go缓冲channel和非缓冲channel的区别说明
Apr 25 #Golang
Go语言使用select{}阻塞main函数介绍
You might like
php 数组的合并、拆分、区别取值函数集
2010/02/15 PHP
PHP入门学习笔记之一
2010/10/12 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
2013/11/28 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
php简单实现短网址(短链)还原的方法(测试可用)
2016/05/09 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
2017/05/20 PHP
Gambit vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
JS模板实现方法
2013/04/03 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
2015/06/30 Javascript
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
Angular2管道Pipe及自定义管道格式数据用法实例分析
2017/11/29 Javascript
WebPack配置vue多页面的技巧
2018/05/15 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
基于Vue+Webpack拆分路由文件实现管理
2020/11/16 Javascript
python 自动提交和抓取网页
2009/07/13 Python
python实现查询苹果手机维修进度
2015/03/16 Python
在Python的while循环中使用else以及循环嵌套的用法
2015/10/14 Python
浅析python的优势和不足之处
2018/11/20 Python
kali中python版本的切换方法
2019/07/11 Python
Python笔记之观察者模式
2019/11/20 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
python 字符串的驻留机制及优缺点
2020/06/19 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
联想印度官方网上商店:Lenovo India
2019/08/24 全球购物
事业单位竞聘上岗实施方案
2014/03/28 职场文书
教师廉洁自律个人总结
2015/02/10 职场文书
埃及王子观后感
2015/06/16 职场文书
校友会致辞
2015/07/30 职场文书
聊一聊python常用的编程模块
2021/05/14 Python
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL
GO中sync包自由控制并发示例详解
2022/08/05 Golang