当前位置: 首页 > 面试题库 >

Golang惯用方式从多行字符串中删除空白行

卫飞
2023-03-14
问题内容

如果我有一个多行字符串

this is a line

this is another line

删除空行的最佳方法是什么?我可以通过拆分,迭代和进行条件检查来使其工作,但是还有更好的方法吗?


问题答案:

假设您要使用删除空行的相同字符串作为输出,我将使用正则表达式:

import (
    "fmt"
    "regexp"
)

func main() {

    var s = `line 1
line 2

line 3`

    regex, err := regexp.Compile("\n\n")
    if err != nil {
        return
    }
    s = regex.ReplaceAllString(s, "\n")

    fmt.Println(s)
}


 类似资料:
  • 问题内容: 我使用的框架会不时返回格式错误的字符串,其中包含“空”字符。 例如,“ foobar”表示为:[,f,o,o,b,a,r] 第一个字符不是空格(’‘),因此System.out.printlin()将返回“ foobar”而不是“ foobar”。但是,String的长度是7,而不是6。显然,这使大多数String方法(等于,拆分,子字符串等)变得无用。有没有办法从字符串中删除空字符?

  • 问题内容: 如何从GoLang中的UTF-8字符串中删除所有Unicode换行符?我为PHP找到了这个答案 问题答案: 您可以使用:

  • 问题内容: 我想使用golangs regexp替换所有空白行和仅用空格/制表符填充的行。我以为下面的regexp应该可以解决问题, ^\s*$ 但令我惊讶的是,行首和行尾regexp标签不起作用。它们似乎表示整个字符串的开始/结束,而不仅仅是字符串中的一行,请参阅 https://play.golang.org/p/WZ4flVtDMN 我在这里想念什么吗? 编辑: Wiktors的回答几乎使我

  • 问题内容: 想要从字符串中删除所有新行。 我有这个正则表达式,它可以捕获所有这些正则表达式,问题是我不知道应该使用哪个函数。 应该变成: 问题答案: 您必须注意双换行符,这会导致双倍空格。使用这个非常有效的正则表达式: 多个空格和换行符替换为一个空格。 编辑: 正如其他人指出的那样,此解决方案存在单词之间匹配单个换行符的问题。这个例子中没有,但是可以很容易地看到这种情况如何发生。一种替代方法是执行

  • 问题内容: 我想知道如何删除: 所有 前导/尾随 空格或换行符,空字符等。 字符串中的任何多余空格(例如,“ hello [space] [space] world”将转换为“ hello [space] world”) 单个正则表达式,对国际空格字符的unicode支持等是否可行? 问题答案: 似乎您可能希望同时使用速记字符类和Unicode属性来匹配Unicode空间。但是,这两个步骤都不能用

  • 本文向大家介绍如何从PowerShell中删除空字符串/行?,包括了如何从PowerShell中删除空字符串/行?的使用技巧和注意事项,需要的朋友参考一下 在许多情况下,您需要从PowerShell字符串数组或文件中删除空行或字符串。在本文中,我们将删除结果或从不为空的行中过滤输出,而不是删除空字符串。这样,我们可以获得没有空行的输出。 考虑下面的示例,我们有一个名为EmptryString.tx