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

看代码吧~

//利用正则表达式压缩字符串,去除空格或制表符
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)
}

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

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

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

(0)

相关推荐

  • 解决Golang json序列化字符串时多了\的情况

    我们在对外提供API接口,返回响应的时候,很多时候需要使用如下的数据结构 type Response struct { Code int `json:"code"` Msg string `json:"msg"` Data interface{} `json:"data"` } 该API接口返回一个状体码,状态信息,以及具体的值.但是具体的值可能根据各个接口的不同而不同. 在实际的开发过程中我们可能会得到一个实际的数据值,并将这个值赋值给data

  • golang中json小谈之字符串转浮点数的操作

    有时会有这种需求,将一个json数据形如: {"x":"golang", "y":"520.1314"} 中的y反序列化为浮点类型,如果这样写: package main import ( "encoding/json" "fmt" ) type JsonTest struct { X string `json:"x"` Y float64 `json:"y

  • golang 如何替换掉字符串里面的换行符\n

    原始字符串: -----BEGIN LICENSE KEY-----\nL/+HAwEBB2xpY2Vuc2UB/4gAAQIBB1BheWxvYWQBCgABCVNpZ25hdHVyZQEKAAAA\n/gPo/4gB/gHd/7AQABpsaWNlbnNlLW1nci9jb25maWcuUGF5bG9hZP+BAwEBB1Bh\neWxvYWQB/4IAAQoBBUFwcElkAQwAAQZBcHBLZXkBDAABCVN0YXJ0VGltZQEMAAEE\nRGF5cwEEAAEGQWVz

  • golang 字符串比较是否相等的方法示例

    golang字符串比较的三种常见方法 fmt.Println("go"=="go") fmt.Println("GO"=="go") fmt.Println(strings.Compare("GO","go")) fmt.Println(strings.Compare("go","go")) fmt.Println(strings.EqualFol

  • 用golang如何替换某个文件中的字符串

    用golang实现了某个文件中字符的替换,替换为按行替换,执行后会生成新文件,如a.txt,执行后生成a.txt.mdf.新文件即修改后的内容. 主要用来练习文件的读取与写入 package main import ( "bufio" "fmt" "io" "os" "strings" ) func main() { if len(os.Args) != 4 { fmt.Println("lack

  • Golang 语言高效使用字符串的方法

    01介绍 在 Golang 语言中,string 类型的值是只读的,不可以被修改.如果需要修改,通常的做法是对原字符串进行截取和拼接操作,从而生成一个新字符串,但是会涉及内存分配和数据拷贝,从而有性能开销.本文我们介绍在 Golang 语言中怎么高效使用字符串. 02字符串的数据结构 在 Golang 语言中,字符串的值存储在一块连续的内存空间,我们可以把存储数据的内存空间看作一个字节数组,字符串在 runtime 中的数据结构是一个结构体 stringStruct,该结构体包含两个字段,分别是

  • 解决golang时间字符串转time.Time的坑

    字符串转时间一定要通过 time.ParseInLocation 不能直接用Parse todayZero, _ := time.ParseInLocation("2006-01-02", "2019-01-01 15:22:22" time.Local) 如果用了Parse,二者就会存在8小时时间差!!!! 补充:golang 常用的日期方法和时区的坑 import( "time" ) 1.获取当前时间 time.Now(),返回类型:time

  • golang 获取字符串长度的案例

    1.不同字符与获取字符串长度 获取字符串长度,是字符串操作的重要方法.理论来说,获取字符串长度,只要从头到尾查找一遍就可以了.但遗憾的是,不同字符具有不同的编码格式.拉丁字母一个字符只要一个字节就行,而中文则可能需要两道三个字节:UNICODE把所有字符设置为2个字节,UTF-8格式则把所有字符设置为1--3个字节. 因此,字符串长度的获得,不等于按字节数查找,而要根据不同字符编码查找. 2.golang中获取字符串长度的方法 对于中文开发者来说,经常需要对字符串进行长度判断.golang有自己

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

    看代码吧~ //利用正则表达式压缩字符串,去除空格或制表符 func compressStr(str string) string { if str == "" { return "" } //匹配一个或多个空白符的正则表达式 reg := regexp.MustCompile("\\s+") return reg.ReplaceAllString(str, "") } 补充:go语言去除字符串尾部所有空格 刷 leetcod

  • PHP实用函数分享之去除多余的0

    代码很简洁,也很简单,就不多废话了. 复制代码 代码如下: /**  * 去除多余的0  */  function del0($s)  {      $s = trim(strval($s));      if (preg_match('#^-?\d+?\.0+$#', $s)) {          return preg_replace('#^(-?\d+?)\.0+$#','$1',$s);      }       if (preg_match('#^-?\d+?\.[0-9]+?0+$

  • Powershell小技巧之去除多余的空格

    要去去除多余的空格,请尝试下面正则表达式: PS> '[ Man, it works! ]' -replace '\s{2,}', ' ' [ Man, it works! ] 你也可以用这个方法转换成固定格式的CSV表格: PS> (qprocess) -replace '\s{2,}', ',' >tobias,console,1,3876,taskhostex.exe >tobias,console,1,3844,explorer.exe >tobias,console

  • C#字符串中去除多余的空格保留一个的实例

    在C#的字符串,其中有许多空格,现要求是把多余的空格去除保留一个.原理是使用Split()方法进行分割,分割有一个选项是RemoveEmptyEntries,然后再把分割后的字符串Join起来. string string1 = "AAaaA Oopps 32 211 44.8 69 15.9 C# 36.7 0.6 "; string[] arr = string1.Trim().Split(new char[] { ' ' }, StringSplitOptions.RemoveE

  • 易语言去除多余的支持库方法

    易语言不得不说是一个很方便的编程工具,其强大的支持库.模块能快速的帮助我们编程,不过,一般完整版的易语言都带了很多的支持库,我们其实不需要,反倒让我们找我们需要的支持库的时候感到麻烦,怎么去除多余的支持库呢? 1.方法一: 比较推荐的一种方法,临时性的去除,想用的时候还可以加载出来. 打开易语言. 2.点击上方菜单中的工具,选择弹出菜单里面的支持库配置,如图: 3.会弹出一个窗口,里面会列出你电脑里面保存的各种支持库,可以看到有好多种: 4.把你不想用的支持库前面的对扣去掉,易语言就不会加载这个

  • 在mybatis中去除多余的前缀或者后缀操作

    A.where 标签会自动删除第一个多余的and或者or,set标签会自动删除最后一个',' B.trim标记,是一个格式化的标记,可以完成set或者是where标记的功能,如下代码: 1. select * from user <trim prefix="WHERE" prefixoverride="AND |OR"> <if test="name != null and name.length()>0"> AND

  • MyBatis XML去除多余AND|OR前缀或逗号等后缀的操作

    1.通过trim格式化标记set或where功能 2.对于set自动删除最后一个",",对于where自动删除最后一个"and|or" 使用示例如下: 1. select * from user <trim prefix="WHERE" prefixOverride="AND |OR"> <if test="userName != null and userName.length()>0&qu

  • python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解

    在pdf转为文本的时候,经常会多出空格,影响数据观感,因此需要去掉文本中多余的空格,而文本中的英文之间的正常空格需要保留,输入输出如下: input:我今天 赚了 10 个亿,老百姓very happy. output:我今天赚了10个亿,老百姓very happy. 代码 def clean_space(text): """" 处理多余的空格 """ match_regex = re.compile(u'[\u4e00-\u9fa5.

  • 使用Python去除小数点后面多余的0问题

    目录 Python去除小数点后面多余的0 Python去掉数字前面的0 Python去除小数点后面多余的0 最近在用Python 写导入数据的脚本.百度 必应搜了好多,都没有一个完美解决的. 在这里还是要吐槽一下百度对于这些真的很垃圾. 后来FQ谷歌了一下,第一个词条出来就找到办法了. 这里我搬过来整理一下,以及使用时候可能遇到的问题.希望对看到这篇文章的读者有用 首先引入头文件 from decimal import Decimal 举个例子 数字 100.2000 第一次 这么使用 Deci

  • JSP输出HTML时产生的大量空格和换行的去除方法

    这个问题当年也困扰了我比较长的时间.因为在jsp内使用的EL标签和其他标签时,会产生大量的空格和换行符.例如: 复制代码 代码如下: ------- start ---------- <c:choose> <c:when test="${fn:length(mainPageList)>1&}"> Something </c:when> <c:otherwise> Others </c:otherwise> <

随机推荐