首页 > 其他分享 >golang中判断字符串是否为空行

golang中判断字符串是否为空行

时间:2024-02-16 21:35:03浏览次数:18  
标签:空行 Trim 每行 结尾 golang 字符串 strings

在使用golang的tail库读文件时,可能会出现读入一行空行的情况,我们有时候会想过滤掉这一行记录。

golang中如何判断一行字符串是否为空行?

使用strings.Trim()去除尾部换行符,再用len()判断长度是否为0即可。

示例:

if len(strings.Trim(strings.Trim(line.Text, "\n"), "\r")) == 0 {
	//这是空行
}

注意我们要先去除"\n"再去除"\r",这样是为了兼容unix、windows、macos多个系统。

"\r"是回车,前者使光标到行首,(carriage return)
"\n"是换行,后者使光标下移一格,(line feed)

Unix系统里,每行结尾只有"<换行>",即"\n";
Windows系统里面,每行结尾是"<回车><换行>",即"\r\n";
Mac系统里,每行结尾是"<回车>",即"\r"。

标签:空行,Trim,每行,结尾,golang,字符串,strings
From: https://www.cnblogs.com/blockche/p/18017492

相关文章

  • 8小时速成golang(五)golang高阶 select
     Selectselect作用Go里面提供了一个关键字select,通过 select 可以监听 channel 上的数据流动。有时候我们希望能够借助channel发送或接收数据,并避免因为发送或者接收导致的阻塞,尤其是当channel没有准备好写或者读时。select语句就可以实现这样的功能。select的用法与sw......
  • golang 死锁 all goroutines are asleep - deadlock!
    channel死锁packagemainimport"fmt"funcmain(){ch:=make(chanstring)fori:=0;i<10;i++{s:=<-chfmt.Println(s)}gofunc(chchanstring){fori:=0;i<10;i++{......
  • 字符串原理
    ......
  • go任意类型转字符串
    直接上代码packagemainimport("encoding/json""fmt""strconv")typeResultstruct{RequestIDstring`json:"request_id"`Codestring`json:"code"`Msgstring`json:&quo......
  • 8小时速成golang(五)golang高阶 channel基本定义和使用
     1、定义channel变量channel是Go语言中的一个核心类型,可以把它看成管道。并发核心单元通过它就可以发送或者接收数据进行通讯,这在一定程度上又进一步降低了编程的难度。 channel是一个数据类型,主要用来解决go程的同步问题以及go程之间数据共享(数据传递)的问题。goroutin......
  • Go语言的100个错误使用场景(40-47)|字符串&函数&方法
    目录前言5.字符串5.5无用的字符串转换(#40)5.6获取子字符串操作和内存泄漏(#41)6.函数和方法6.1不知道选择哪种类型的方法接受者(#42)6.2从来不使用命名的返回值(#43)6.3使用命名返回值造成的意外副作用(#44)6.4返回一个nil接受者(#45)6.5使用文件名作为函数的输入(#46)6.6不理解de......
  • 字符串KMP算法详解
    引入字符串kmp算法用于解决字符串匹配的问题:给出两个字符串\(s_1\)和\(s_2\),若\(s_1\)的区间\([l,r]\)子串与\(s_2\)完全相同,则称\(s_2\)在\(s_1\)中出现了,其出现位置为\(l\)。现在请你求出\(s_2\)在\(s_1\)中所有出现的位置。很显然,我们能够想到暴力求......
  • 字符串进阶题目选做
    字符串进阶一些不那么裸的字符串题,甚至出现了parent树优化建图这种离谱的东西。前置知识:kmp,字符串哈希,AC自动机,SA,SAM,ManacherCF914FSubstringsinaString题意:给定字符串,要求支持单点修改,询问时给出字符串,求在\([l,r]\)中出现多少次。思路:考虑一般的字符串维护方法都......
  • leetcode 438 找到字符串中所有字母异位词
     这个题目的有些类似实现strStr这个算法题目。解题关键点:1.采用类似滑动窗口的算法遍历字符串s。2.用两个哈希表保存字符串s和字符串p,中每个小写字母出现的次数。C++代码:classSolution{public:boolequals(vector<int>&sc,vector<int>&pc){for......
  • 【c语言】字符串常见函数 下
    ......