刪除空行。如果我有一個多行字符串像Golang慣用的方法,從多線串
this is a line
this is another line
什麼是刪除空行的最好方法?我可以通過分割,迭代和進行條件檢查來實現它,但是有沒有更好的方法?你想有作爲輸出刪除空行相同的字符串
刪除空行。如果我有一個多行字符串像Golang慣用的方法,從多線串
this is a line
this is another line
什麼是刪除空行的最好方法?我可以通過分割,迭代和進行條件檢查來實現它,但是有沒有更好的方法?你想有作爲輸出刪除空行相同的字符串
Assumming,我會使用正則表達式:
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)
}
類似ΔλЛ的回答可以用strings.Replace做到:
func替換(s,舊的,新的字符串,n int)字符串 替換返回字符串s的一個副本,其中舊的前n個非重疊實例替換爲new。如果old爲空,則它在字符串的開始處和每個UTF-8序列之後進行匹配,最多生成一個k-1字符串的k + 1替換。如果n < 0,則替換次數沒有限制。
package main
import (
"fmt"
"strings"
)
func main() {
var s = `line 1
line 2
line 3`
s = strings.Replace(s, "\n\n", "\n", -1)
fmt.Println(s)
}
如果字符串通過反覆巨大的切片,你會推薦哪表現之一獲得?正則表達式還是迭代? – scott
我仍然會推薦regex,但如果你想稍後合併這些字符串(比如說,分成一個slice),那麼'string.Split()'和迭代可能是更好的選擇。 – syntagma
謝謝@REACHUS。非常感激。 – scott